进度条的效率问题
从SQL SERVER 2005里面读10000条记录到 datatable 里面
然后一条条的 do something
Form 就没有反应了,更不用说进度条
我就想在处理大批量数据的时候,还能看见进度条在走
谁有解决的方案,请赐教
先谢谢了
------解决方案--------------------一种将拷贝过程放到另一个线程中进行,还有一种就是在进度条赋值的语句之后写一句Application.DoEvents()
------解决方案--------------------requestedCountControl.Maximum = 10000;
requestedCountControl.Minimum = 1;
do something 以后进度条进度加1 不就是这样子么?
------解决方案--------------------用线程。
将进度条的改变写在一个线程里面。
要记住设置窗体的静态属性
Form.CheckForIllegalCrossThreadCalls = true;
------解决方案--------------------如果我每执行完一次任务,就System.Threading.Thread.Sleep(1000);
那进度条会不会在休眠以后有反应呢
----------------------
如果你是在多線程環境下的輔助線程中執行Sleep,那么不會有影響進度條。
如果主線程中執行,整個窗體都不會有響應了