C#如何使用BackgroundWork后台辅助线程控件 详细�0�3
发布网友
发布时间:2024-09-30 07:56
我来回答
共1个回答
热心网友
时间:2024-10-25 14:23
/// 后台操作/////////
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e){this.backgroundWorker.ReportProgress(100, "系统正在根据您的
查询条件取数据 ");
DoSome();//取数据源动作
if (this.dt.Rows.Count == 0)//数据源为空{this.backgroundWorker.CancelAsync();}this.backgroundWorker.ReportProgress(100, "数据已经取得,正在
进行Excel 数据导入 ");
ExportExcel();//导入Excel 中
this.backgroundWorker.ReportProgress(100, "Excel 导入已经完成 ");}在上面的Dowork 事件中,用到了ReportProgress 事件,要使用此事件,必须把属性:
this.backgroundWorker.WorkerReportsProgress = true;
另外也把属性: this.backgroundWorker.WorkerSupportsCancellation = true; 这
个属性支持辅助线程的取消。在ReportProgress 中可以把程序进度反馈给UI:///
/// 当处理情况发生变化时/////////
private void backgroundWorker_ProgressChanged(object sende
r, ProgressChangedEventArgs e){message.label.Text = e.UserState.ToString(); //这里的m
essage 是我新做的窗体Form,用来提示相关信息}然后操作完成:///
/// 操作完成/////////