有一段执行很慢的程序,就比如说是9999999次的一个循环.执行的时候窗体会死掉.
在窗体上加一个进度条.把这段程序扔到线程里去执行.
但是线程结束时,我要给个提示,告诉我已完成.然后把进度条关掉.
但是在子线程中无法操作主线程上的控件.
我对控件Invoke添加委托,在线程里执行.又会变成执行时窗体死掉的情况,等于跟没用线程一个样.
请问该如何处理.
在窗体上加一个进度条.把这段程序扔到线程里去执行.
但是线程结束时,我要给个提示,告诉我已完成.然后把进度条关掉.
但是在子线程中无法操作主线程上的控件.
我对控件Invoke添加委托,在线程里执行.又会变成执行时窗体死掉的情况,等于跟没用线程一个样.
请问该如何处理.
如果你每次循环都Invoke一下;并且这循环还很短;那窗体线程会收到大量密集的
Invoke消息要处理根本无心处理用户输入绘制图像等其它消息.所以会造成窗体假
死.至于解决方法...看具体情况,如果循环执行的很快每执行1~200次Invoke一下.
如果不是很快每10~20次Invoke一下.
http://topic.csdn.net/u/20090712/03/ceb0be3d-38e5-4070-96b6-40086ae617d7.html?56385