我现在想让托盘图标实现闪烁的效果,来回切换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,所以闪烁效果也实现不了!请问是怎么回事,请帮忙解决!

解决方案 »

  1.   

    notifyIcon1.Icon!=ic2这里有问题。换成referenceequals试试
      

  2.   

    用referenceequals也一样!没变化!
      

  3.   

    我也試過,不過我閃爍是用兩個timer來回切換圖片的.設置下兩個timer的時間差做出來的
      

  4.   



          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之间记得延迟一小会。