首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在while中调用Thread.Sleep()时,界面假死了,该怎么解决

2012-06-16 
在while中调用Thread.Sleep()时,界面假死了在while中调用Thread.Sleep(3000)时,也就是3秒左右时,界面假死

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

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


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

热点排行