ProgressBar && BackgroundWorker

来源:互联网 发布:淘宝首页装修设计尺寸 编辑:程序博客网 时间:2024/06/10 03:58

做一遍总结,让自己印象更深刻:


1、控件栏中找到BackgroundWorker,拖到窗体中,命名为bgworker,以及一些实例中要用到的控件progressbar.....


2、设置bgworker的属性以及事件:

WorkerReportsProgress:True

WorkerSupportsCancellation:True

DoWork()

ProgressChanged()

RunWorkerCompleted()


3、代码编写

引用命名空间  using System.ComponentModel;

//主要代码如下所示:

void BgworkerProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
this.pbTest.Value = e.ProgressPercentage;
this.label3.Text = e.UserState.ToString();
this.label3.Update();
}

void BgworkerRunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Done !!");
}

void BgworkerDoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
for(int i = 0 ; i < 100 ; i++){
if(this.bgworker.CancellationPending){
//用户点击取消
bgworker.ReportProgress(i,string.Format("当前值是 {0},操作被用户申请中断", i));
return;
}
bgworker.ReportProgress(i,string.Format("当前值是{0}",i));
System.Threading.Thread.Sleep(100);  
}
}

//开始按钮和停止按钮的代码

void BtnStartClick(object sender, EventArgs e)
{
if(this.bgworker.IsBusy) return;
this.bgworker.RunWorkerAsync();
}

void BtnStopClick(object sender, EventArgs e)
{
this.bgworker.CancelAsync();
}





End!

2017-11-21,By Anna.


End!

2017-11-21,By Anna.

原创粉丝点击