1. 程式人生 > >C# 程式關閉托盤圖示不會自動消失

C# 程式關閉托盤圖示不會自動消失

原文: C# 程式關閉托盤圖示不會自動消失

c#程式關閉托盤圖示不會自動消失,程序的托盤圖示卻不能隨著程序的結束而自動消失  必須將滑鼠移到圖示上面時才能消失?  請問如何才能做到圖示隨著程序的結束而自動消失呢(外部強行結束,如在工作管理員將其結束), windows系統好多程式都會這樣。

網上搜索後大家說法不一,如下:

1、這個就這樣,很多程式都有這個問題,大家都習慣了

2、似乎沒法解決。。工作管理員是強制關閉的,程式認為是異常結束,所以沒有執行小圖示關閉的操作,當你滑鼠移上去的時候,系統找不到程序(因為已關閉),所以就消失了。

3、工作管理員是強制關閉的,程式認為是異常結束,所以沒有執行小圖示關閉的操作,當你滑鼠移上去的時候,系統找不到程序(因為已關閉),所以就消失了。

4、只能習慣!

5、退出時讓 托盤 控制元件不可見..再退出.

6、應用程式操作托盤圖示是通過windows的委託來處理的,也就是應用程式對系統說“我要新增一個圖示”,於是工作列就多了個圖示,程式退出時對系統說“把我的圖示刪除了”,工作列才會消除圖示。。。直接砍掉一個程序,那個程式異常退出,還未來得及說“把我的圖示刪除了”,所以工作列圖示不會立刻消失。。

 

最終結論:

呵呵,這個問題剛開始也困攏了我半天,上網找了很多貼子都沒有解決的方法,後來我自己試了一個它的方法,結果一測試完全好用:在程式的closed事件處理程式中呼叫NotifyIcon控制元件的Dispose()方法,這樣程式退出後托盤上的圖示立刻就消失了。
       private void Window_Closed(object sender, EventArgs e)
        {
            myNotifyIcon.Dispose();
        }