C#在Tray中动态更改notifyicon图像

时间:2017-03-23 08:21:47

标签: c# visual-studio

我在 C#中有PPP拨号程序。成功连接后,最小化到带有图标的系统托盘。

如何根据连接状态动态更改托盘中的通知图像?

示例:

如果连接空闲:ICON-IMAGE-1 如果连接已连接:ICON-IMAGE-2 如果连接断开:ICON-IMAGE-3

我有关于事件的触发器,只是想知道如何根据事件更改尝试图标。

1 个答案:

答案 0 :(得分:1)

您可以使用NotifyIcon

private NotifyIcon _nIcon;
我是这样做的。我首先在app构造函数中初始化通知。

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);

希望这有帮助。