读书人

在while中调用Thread.Sleep()时界面

发布时间: 2013-03-14 10:33:15 作者: rapoo

在while中调用Thread.Sleep()时,界面假死了
在while中调用Thread.Sleep(3000)时,也就是3秒左右时,界面假死了。这个能解决么?只要能控件一定时间后再进行下一次循环就行了。


while(IsXXX()==false)
{
Thread.Sleep(3000);
}

[解决办法]
改用Timer组件或后台线程...Windows UI是单元线程,你阻赛UI线程能响应才怪...
[解决办法]
不要把这段代码放到主线程里面去,这样肯定假死的。新启动一个线程来执行这个方法就好了
[解决办法]
调用Sleep方法的是类本身,而不是类的实例。休眠的是该语句所在的线程,而不是其他线程。
[解决办法]
简单修改可以写:
while(IsXXX()==false)
{
Application.DoEvents();
}
.....//然后继续干你的事。

读书人网 >C#

热点推荐