关于notifyIcon非常简单的问题 但是我弄不出来了!请教!

lulu_xiaoniu 2008-12-26 01:41:11
我现在想让托盘图标实现闪烁的效果,来回切换2个图标即可实现,我写的代码如下:
{
Icon ic1 = new Icon(dl.filestring + "\\b.ico");
Icon ic2 = new Icon(dl.filestring + "\\a.ico");

if (notifyIcon1.Icon!=ic2)
{
notifyIcon1.Icon = ic2;

}
else
{
notifyIcon1.Icon = ic1;
}
}

我用上面这个一直都执行notifyIcon1.Icon = ic2;这条语句,就是不执行下面这个else,所以闪烁效果也实现不了!请问是怎么回事,请帮忙解决!
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lulu_xiaoniu 2008-12-26
  • 打赏
  • 举报
回复
顶!
lulu_xiaoniu 2008-12-26
  • 打赏
  • 举报
回复
哦了 楼上的把类拿到外面就可以了!一会给分!谢谢!
另外,我再问一下各位我1秒钟读取一次数据库,对远程的数据库有无影响?
lulu_xiaoniu 2008-12-26
  • 打赏
  • 举报
回复
gomoku 2008-12-26
  • 打赏
  • 举报
回复

{
Icon ic1 = new Icon(dl.filestring + "\\b.ico");
Icon ic2 = new Icon(dl.filestring + "\\a.ico");

if (notifyIcon1.Icon!=ic2)
{
}
}

由于你每次都创建一个新的ic2,if (notifyIcon1.Icon!=ic2) 永远成立,导致你只能显示ic1的图标。

解决方法:
把ic1和ic2的创建放到外面(比如作为类成员)。换Icon之间记得延迟一小会。
zhantianyou 2008-12-26
  • 打赏
  • 举报
回复
我也試過,不過我閃爍是用兩個timer來回切換圖片的.設置下兩個timer的時間差做出來的
lulu_xiaoniu 2008-12-26
  • 打赏
  • 举报
回复
顶!
lulu_xiaoniu 2008-12-26
  • 打赏
  • 举报
回复
用referenceequals也一样!没变化!
lulu_xiaoniu 2008-12-26
  • 打赏
  • 举报
回复
请指教代码!
king19840811 2008-12-26
  • 打赏
  • 举报
回复
notifyIcon1.Icon!=ic2这里有问题。换成referenceequals试试

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧