WinForm进度条的2种异步实现方式

上传者: zhiking3387 | 上传时间: 2021-08-30 15:14:11 | 文件大小: 45KB | 文件类型: RAR
在WinForm中,比如一些文件传输和一些费时的操作,如果处理不好就会造成“假死”的情况,为此我们可以采用进度条进行友好提示。 BackgroundWorker类是.net 2.0里新增加的一个类,对于需要长时间操作而不需要用户长时间等待的情况可以使用这个类。 注意确保在 DoWork 事件处理程序中不操作任何用户界面对象。而应该过 ProgressChanged 和 RunWorkerCompleted 事件与用户界面进行通信。 它有几个主要属性: CancellationPending——指示应用程序是否已请求取消后台操作。 IsBusy——指示 BackgroundWorker 是否正在运行异步操作 WorkerReportsProgress——该值指示 BackgroundWorker 能否报告进度更新 WorkerSupportsCancellation——该值指示 BackgroundWorker 是否支持异步取消 还有如下事件: DoWork——调用 RunWorkerAsync 时发生。 ProgressChanged——调用 ReportProgress 时发生。 RunWorkerCompleted——当后台操作已完成、被取消或引发异常时发生。 还有如下方法: CancelAsync——请求取消挂起的后台操作 ReportProgress——引发 ProgressChanged 事件 RunWorkerAsync——开始执行后台操作 如果启用取消线程则设置WorkerSupportsCancellation = true;然后调用 CancelAsync方法即可。

文件下载

资源详情

[{"title":"( 27 个子文件 45KB ) WinForm进度条的2种异步实现方式","children":[{"title":"ProcessTest","children":[{"title":"ProcessTest","children":[{"title":"ProcessTest.suo <span style='color:#111;'> 19.00KB </span>","children":null,"spread":false},{"title":"ProcessTest","children":[{"title":"ProcessTest.csproj <span style='color:#111;'> 4.01KB </span>","children":null,"spread":false},{"title":"Form1.cs <span style='color:#111;'> 2.68KB </span>","children":null,"spread":false},{"title":"bin","children":[{"title":"Debug","children":[{"title":"ProcessTest.vshost.exe <span style='color:#111;'> 13.99KB </span>","children":null,"spread":false},{"title":"ProcessTest.vshost.exe.manifest <span style='color:#111;'> 490B </span>","children":null,"spread":false},{"title":"ProcessTest.pdb <span style='color:#111;'> 31.50KB </span>","children":null,"spread":false},{"title":"ProcessTest.exe <span style='color:#111;'> 11.50KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"obj","children":[{"title":"Debug","children":[{"title":"ProcessTest.Form2.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"ProcessTest.Properties.Resources.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"ProcessTest.csproj.GenerateResource.Cache <span style='color:#111;'> 905B </span>","children":null,"spread":false},{"title":"Refactor","children":null,"spread":false},{"title":"ProcessTest.csproj.FileListAbsolute.txt <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"TempPE","children":null,"spread":false},{"title":"ProcessTest.Form1.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"ProcessTest.pdb <span style='color:#111;'> 31.50KB </span>","children":null,"spread":false},{"title":"ProcessTest.exe <span style='color:#111;'> 11.50KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"Form2.resx <span style='color:#111;'> 5.68KB </span>","children":null,"spread":false},{"title":"Form2.Designer.cs <span style='color:#111;'> 2.49KB </span>","children":null,"spread":false},{"title":"Properties","children":[{"title":"Resources.Designer.cs <span style='color:#111;'> 2.80KB </span>","children":null,"spread":false},{"title":"Settings.settings <span style='color:#111;'> 249B </span>","children":null,"spread":false},{"title":"Resources.resx <span style='color:#111;'> 5.48KB </span>","children":null,"spread":false},{"title":"Settings.Designer.cs <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"AssemblyInfo.cs <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false}],"spread":true},{"title":"Program.cs <span style='color:#111;'> 492B </span>","children":null,"spread":false},{"title":"Form1.Designer.cs <span style='color:#111;'> 3.62KB </span>","children":null,"spread":false},{"title":"Form1.resx <span style='color:#111;'> 5.87KB </span>","children":null,"spread":false},{"title":"Form2.cs <span style='color:#111;'> 2.04KB </span>","children":null,"spread":false}],"spread":false},{"title":"ProcessTest.gpState <span style='color:#111;'> 260B </span>","children":null,"spread":false},{"title":"ProcessTest.sln <span style='color:#111;'> 923B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

  • wgb025 :
    看了,还行,可以使用,感谢分享
    2018-12-26
  • zz0074 :
    程序有点小问题,貌似会用不了
    2014-08-19
  • dreamflymgp :
    挺好的,解决界面“假死”的现象,我采用的是BackgroundWorker这种方式实现异步。感谢分享
    2014-07-16
  • speeeedsleep :
    可以使用,还行,就是多线程
    2014-06-25
  • hezhuoyang :
    两种方法都能实现异步,还是第二种好些
    2013-05-16

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明