我有一个需要显示两个图标的托盘图标:C#线程和轮询
- 如果有网络连接,显示一个绿色圆圈复选标记
- 如果没有网络连接,显示一个红色圆圈的X
所以我有什么是:
using System.Net.NetworkInformation;
bool isConnected = NetworkInterface.GetIsNetworkAvailable()
所以我瘦
Form.Invoke(delegate, object[])
更新的NotifyIcon类的图标属性:启动一个新的线程或使用后台工作进度,因为托盘图标是一个NotifyIcon的是一个组成部分,所以我不能用的国王。
我的大问题是投票过程:我可以写一些逻辑,做:
while (true)
{
System.Threading.Thread.Sleep(1000);
isConnected = NetworkInterface.GetIsNetworkAvailable();
if (isConnected)
notifyIcon.Icon = "ConnectedIcon.ico";
else
notifyIcon.Icon = "DisconnectedIcon.ico";
}
,但我见过一对夫妇,告诉我从休眠(1000)远离物品。我似乎无法找到这些文章,因为我没有收藏它们。我只是好奇,想知道为什么这不是一个线程轮询的好主意。
有在燃烧起来为这个线程昂贵的东西少点。只需使用计时器。 –
请参阅http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts –