首页 > 其他 > 详细

BackGroundWork

时间:2020-06-16 21:30:12      阅读:40      评论:0      收藏:0      [点我收藏+]

BackgroundWorker类允许您在单独的线程上执行某个可能导致用户界面(UI)停止响应的耗时操作(比如文件下载数据库事务等),并且想要一个响应式的UI来反应当前耗时操作的进度。DoWork 
用于承载异步操作。当调用BackgroundWorker.RunWorkerAsync()时触发。 
需要注意的是,由于DoWork事件内部的代码运行在非UI线程之上,所以在DoWork事件内部应避免于用户界面交互,而于用户界面交互的操作应放置在ProgressChanged和RunWorkerCompleted事件中。

ProgressChanged 
当调用BackgroundWorker.ReportProgress(int percentProgress)方式时触发该事件。 
该事件的ProgressChangedEventArgs.ProgressPercentage属性可以接收来自ReportProgress方法传递的percentProgress参数值,ProgressChangedEventArgs.UserState属性可以接收来自ReportProgress方法传递的userState参数。

RunWorkerCompleted

异步操作完成或取消时执行的操作,当调用DoWork事件执行完成时触发。 
该事件的RunWorkerCompletedEventArgs参数包含三个常用的属性Error,Cancelled,Result。其中,Error表示在执行异步操作期间发生的错误;Cancelled用于判断用户是否取消了异步操作;Result属性接收来自DoWork事件的DoWorkEventArgs参数的Result属性值,可用于传递异步操作的执行结果。

BackGroundWork

原文:https://www.cnblogs.com/fanu/p/13145124.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!