C#最小化到托盤+雙擊托盤恢復+禁止運行多個該程序
阿新 • • 發佈:2018-04-06
create obj csdn HA etc chan HR 添加 圖標
托盤程序的制作:
1.添加notifyIcon控件,並添加Icon,否則托盤沒有圖標(托盤右鍵菜單也可直接在屬性裏添加);
2.響應Form的Resize或SizeChanged消息:
// Hide to system tray private void Form1_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Hide(); this.ShowInTaskbar = false; this.notifyIcon.Visible = true; } }
3.雙擊托盤圖標恢復需要響應notifyIcon的DoubleClick消息:
// Show from system tray private void notifyIcon_DoubleClick(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Show();this.WindowState = FormWindowState.Normal; this.ShowInTaskbar = true; notifyIcon.Visible = false; } }
防止這個程序同時運行多個 編輯 Program.cs 文件 (參考1:C#如何防止程序多次運行的技巧 參考2:[C# 開發技巧]如何防止程序多次運行)
using System; using System.Windows.Forms; using System.Threading; namespace WhoOnline {static class Program { /// <summary> /// 應用程序的主入口點。 /// </summary> [STAThread] static void Main() { Mutex m = new Mutex(false, "Product_Index_Cntvs", out bool bCreatedNew); if (bCreatedNew) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { MessageBox.Show("應用程序已經在運行中..."); System.Threading.Thread.Sleep(1000); // 終止此進程並為基礎操作系統提供指定的退出代碼。 System.Environment.Exit(1); } } } }
C#最小化到托盤+雙擊托盤恢復+禁止運行多個該程序