进度条

来源:互联网 发布:wifi网络管理器 编辑:程序博客网 时间:2024/05/21 08:50
线程控件
在程序开发中,往往使用到多线程,通常我们是通过Invoke和委托来编写多线程如:
定义一个委托和调用的方法
public delegate void transfer(int value);
public void userMethod(int value) //往往value代表进度数值
{
 //userMethod;
}
创建线路
for(int i=1;i<101;i++)
{
Invoke(transfer,i);
System.Threading.Thread.Sleep(100);
}
在.net 2.0中添加了BackgroundWorker控件(内部也是通过委托来实现),存在于System.ComponentModel命名空间中
BackgroundWorker常用的有
WorkerReportsProgress属性:辅助线程是否报告进度。像做进度条时要设置为true。
workerSupportsCancellation属性:是否支持取消
RunWorkerAsync方法:开始线路,同时触发DoWork事件
DoWork事件:执行线路(不能调用任何Form中的成员变量)
ReportProgress方法:(需WorkerReportsProgress=true)可以通过此方法来报告进度(1-100)同时触发progressChange
ProgressChanged事件:(可以调用Form中的成员变量)
RunWorkerCompleted事件:dowork完成后自动触发此事件

在制作进度条时,也可以使用.net提供的控件progressBar控件来作为介面的显示,ProgressBar中的有maxvalue、minvalue和value来设置
原创粉丝点击