2017-03-23 38 views
0

我有PPP撥號程序C#。連接成功後,最小化爲帶有圖標的系統托盤。C#動態更改托盤中的notifyicon圖像

如何根據連接狀態動態更改托盤中的notifyicon圖像?

實施例:

如果連接是空閒的:ICON-IMAGE-1 如果連接被連接:ICON-IMAGE-2 如果連接被斷開:ICON-IMAGE-3

我有事件觸發器,只是想知道如何根據事件更改嘗試圖標。

+0

可能複製到:http://stackoverflow.com/questions/33105307/changing-system-tray-icon-image –

回答

1

您可以使用NotifyIcon

private NotifyIcon _nIcon; 

我不喜歡這樣。我首先在應用程序構造函數中初始化通知。

System.IO.Stream iconStream = System.Windows.Application.GetResourceStream(new Uri("pack://application:,,,/;component/Resources/offline.ico")).Stream; 
_nIcon = new NotifyIcon(); 
_nIcon.Icon = new System.Drawing.Icon(iconStream); 

,然後當你連接的變化:

System.IO.Stream iconStream = System.Windows.Application.GetResourceStream(new Uri("pack://application:,,,/;component/Resources/online.ico")).Stream; 
_nIcon.Icon = new System.Drawing.Icon(iconStream); 

希望這有助於。

+1

感謝您的時間和答覆。我最後通過在項目資源中添加圖標/圖像,然後在ras連接監視器中使用'notifyIcon1.Icon = Resource1.icon_online;'&'notifyIcon1.Icon = Resource1.icon_offline;'調用它。 :) –