可能我的問題是這個 Multiple icons open in tray bar的重複。在我的winforms應用程序中,一旦表單關閉,我將在應用程序中顯示應用程序,即應用程序在關閉表單後不退出,但在應用程序的系統托盤上的右鍵單擊上下文菜單上單擊「關閉」時退出。Winforms中系統托盤中的多個通知圖標
但是隨着我繼續使用該應用程序,我注意到系統托盤中還有更多的通知圖標。但是,一旦我將鼠標懸停在它們上面,它們就會消失,除了應用程序正在運行。我試過每種方法來消除多個圖標,但我無法這樣做。
下面是我的代碼 最小化到系統托盤
public void MinimizeToTray()
{
try
{
this.WindowState = FormWindowState.Minimized;
TrayIcon.Visible = true;
TrayIcon.ShowBalloonTip(1000);
ShowInTaskbar = false;
//this.Activate();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
在窗體加載我加入這個代碼
private void LoadTrayMenu()
{
TrayMenu.Items.Add("Reminder");
TrayMenu.Items.Add("Close");
TrayMenu.Items[0].Click += new EventHandler(this.Reminder_Click);
TrayMenu.Items[1].Click += new System.EventHandler(this.Dispose_Click);
TrayIcon.ContextMenuStrip = TrayMenu;
}
的Dispose事件如下
private void Dispose_Click(object Sender, EventArgs e)
{
TrayIcon.Visible = false;
TrayIcon.Icon = null;
TrayIcon.Dispose();
this.Dispose();
}
在鼠標點擊圖標上,我寫下了以下代碼
private void TrayIcon_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.Show();
this.WindowState = FormWindowState.Normal;
TrayIcon.Visible = false;
//TrayIcon.Icon = null;
//TrayIcon.Dispose();
ShowInTaskbar = true;
}
}
我試着清除通知圖標,但即使這樣也沒有幫助我。 我錯過了一些非常明顯的東西。任何幫助,將不勝感激。
你解決了這個問題嗎?請告訴我你是如何做到的,因爲我還沒有做到。謝謝。 –