原文:
C# 程式關閉托盤圖示不會自動消失c#程式關閉托盤圖示不會自動消失,程序的托盤圖示卻不能随着程序的結束而自動消失 必須将滑鼠移到圖示上面時才能消失? 請問如何才能做到圖示随着程序的結束而自動消失呢(外部強行結束,如在任務管理器将其結束), windows系統好多程式都會這樣。
網上搜尋後大家說法不一,如下:
1、這個就這樣,很多程式都有這個問題,大家都習慣了
2、似乎沒法解決。。任務管理器是強制關閉的,程式認為是異常結束,是以沒有執行小圖示關閉的操作,當你滑鼠移上去的時候,系統找不到程序(因為已關閉),是以就消失了。
3、任務管理器是強制關閉的,程式認為是異常結束,是以沒有執行小圖示關閉的操作,當你滑鼠移上去的時候,系統找不到程序(因為已關閉),是以就消失了。
4、隻能習慣!
5、退出時讓 托盤 控件不可見..再退出.
6、應用程式操作托盤圖示是通過windows的委托來處理的,也就是應用程式對系統說“我要添加一個圖示”,于是工作列就多了個圖示,程式退出時對系統說“把我的圖示删除了”,工作列才會消除圖示。。。直接砍掉一個程序,那個程式異常退出,還未來得及說“把我的圖示删除了”,是以工作列圖示不會立刻消失。。
最終結論:
呵呵,這個問題剛開始也困攏了我半天,上網找了很多貼子都沒有解決的方法,後來我自己試了一個它的方法,結果一測試完全好用:在程式的closed事件處理程式中調用NotifyIcon控件的Dispose()方法,這樣程式退出後托盤上的圖示立刻就消失了。
private void Window_Closed(object sender, EventArgs e)
{
myNotifyIcon.Dispose();
}