獠牙txt全集下载完整版:关于MS C#.net中ProcessBar的问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 12:18:49
在使用ProcessBar时,我在一个十分复杂的循环中控制ProcessBar的value,但是那个程序过于复杂了,导致占用的CPU过高,所以ProcessBar就停在了一个值上,直到循环结束,再继续运行。有没有办法可以解决这个问题?使其在循环的同时ProcessBar很流畅的运行?
能不能说具体一点?

一个变量来存放要更改的Value的值(int val),然后用一个新的线程对你要进行的操作进行运算,例如调用方法A,然后方法A就改变val的值,然后另外一个Timer每秒钟十次地对ProcessBar.Value进行刷新(processBar1.Value=val;),如果这个过程还需要有开始和结束的标志,还可以声明一个bool变量,线程开始之前它为false,表示正在进行运算,而方法A在最后结束的时候将那个bool改为true,这个时候Timer也就可以根据它的值进行适当地调整

int val;//存放要更改的value的值
bool finished=true;//是否正在进行
Thread t;//连接到要进行的运算,对val和finished进行更改
Timer timer;//每秒进行10次根据val和finished的值进行适当地调整

Timer的使用十分简单,不知道你会不会用Thread(位于System.Threading)

Thread t=new Thread(new StartInfo(MethodName));
t.Start();//启动线程
就这么简单,其中MethodName是一个方法的名字,那个方法必须是没有返回,没有参数的方法

试试调用另一个线程,就是thread

thread是正解。用thread运行那个占cpu的函数就可以了