1. 程式人生 > >C#最小化到托盤+雙擊托盤恢復+禁止運行多個該程序

C#最小化到托盤+雙擊托盤恢復+禁止運行多個該程序

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#最小化到托盤+雙擊托盤恢復+禁止運行多個該程序