日期:2014-05-17  浏览次数:20920 次

怎么判断一个空间是否还存在?
下边是我的代码,我在button2的单击事件里新建一个线程,执行bian函数
函数里更改主窗体上的控件notifyIcon1,但是每次我关闭主窗口,但是线程里的死循环并没有结束,还是在执行,并且提示notifyIcon1 已经没有了。

我想知道怎么判断主窗口的控件是否还存在,我该怎么写判断来 return这个死循环呢

 private void button2_Click(object sender, EventArgs e)
        {
            
            Thread thread1 = new Thread(bian);

            thread1.Start();
         }

private void bian()
        {
            Icon ic1 = new Icon("124.ico");
            Icon ic2 = new Icon("123.ico");
 
            while (true)
            {
                
                notifyIcon1.Icon = ic1;
                Thread.Sleep(500);
                notifyIcon1.Icon = ic2;
                Thread.Sleep(500);
                
            }

------解决方案--------------------
notifylcon.Dispatcher.Invoke

然后你可以考虑把while的判断语句改一下,例如改成while(notiflcon!=null)之类的