C#使用后台线程BackgroundWorker处理任务的总结

2020-01-05 09:11:40王振洲

这里面我们设置提示开始采集数据后,然后构建一个可以用于传递的线程采集对象给后台线程,通过异步调用worker.RunWorkerAsync(stateInfo); 即可实现任务的开始操作。

如果任务总之,我们调用取消接口即可。


if (MessageDxUtil.ShowYesNoAndWarning("采集正在进行中,您确认停止采集吗?") == System.Windows.Forms.DialogResult.Yes)
        {
          worker.CancelAsync();

          //改变状态
          IsThreadRunning = !IsThreadRunning;

          //还原按钮状态
          InitCollectState();
        }

启动采集界面进行相应的处理即可,如下所示。

C#,后台线程,BackgroundWorker,处理任务

采集过程的进度可以通过状态栏实时的显示出来,这个有赖于我们定义的状态类,可以很方便进行UI的信息通知。

C#,后台线程,BackgroundWorker,处理任务

以上就是使用后台线程BackgroundWorker处理任务的一些总结,希望给读者带来一些参考价值,在我们做一些耗时的操作的时候,可以考虑使用这个后台线程BackgroundWorker处理任务,从而实现较好的界面通知,也不会造成UI界面的停顿卡死状态。希望对大家的学习有所帮助,也希望大家多多支持ASPKU。


注:相关教程知识阅读请移步到c#教程频道。