您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

C#中长时间运行任务的进度条

C#中长时间运行任务的进度条

您可以BackgroundWorker()@H_403_2@用来解决这类问题。

首先定义一个类的全局变量BackgroundWorker()@H_403_2@ 例如

private BackgroundWorker bgw;
@H_403_2@

然后在执行查询(如button1_Click()@H_403_2@事件或其他任何内容)的过程中使用下面的代码

bgw = new BackgroundWorker();
bgw.WorkerReportsProgress = true;
bgw.ProgressChanged += new ProgressChangedEventHandler(bgw_ProgressChanged);
bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgw_RunWorkerCompleted);
bgw.DoWork += new DoWorkEventHandler(bgw_DoWork);
bgw.RunWorkerAsync();
@H_403_2@

现在定义如下方法

void bgw_DoWork(object sender, DoWorkEventArgs e)
 {
  //Your time taking work. Here it's your data query method.
  CheckSsMissingDate();
 }

void bgw_ProgressChanged(object sender, ProgressChangedEventArgs e)
 {
   //Progress bar.
   progressBar1.Value = e.ProgressPercentage;
 }

 void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
  {
   //After completing the job.
   Message@R_927_2419@.Show(@"Finished");
  }
@H_403_2@
c# 2022/1/1 18:53:15 有424人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶