zoukankan      html  css  js  c++  java
  • C# BackgroundWorker

    BackgroundWorker 主要用于多线程编程,如果某一操作需要时间过长,放在主线程会导致界面卡死,就可以用这个组件,它可以使用用户界面线程中引发的事件进行通信,它主要的属性、方法和事件有:

         属性:

               WorkerReportsProgress :指示BackgroundWorker 能否报告进度更新;

               WorkerSupportsCancellation:指示 BackgroundWorker 是否支持异步取消;

               CancellationPending:指示应用程序是否已请求取消后台操作;

               IsBusy:指示 BackgroundWorker 是否正在运行异步操作;

        方法:

               RunWorkerAsync()和RunWorkerAsync(object argument) : 开始执行后台操作 ;

               CancelAsync():请求取消挂起的后台操作;

               ReportProgress(int percentProgress):报告当前进度,引发ProgressChanged 事件;

        事件:

               DoWorkEventHandler DoWork:调用  RunWorkerAsync方法以后激发此事件;

               ProgressChangedEventHandler ProgressChanged: 调用ReportProgress方法以后激发此事件;

               RunWorkerCompletedEventHandler RunWorkerCompleted:当后台操作已完成、被取消或引发异常时发生;

         以下是从博文 C#使用BackgroundWorker组件经验 中一张有关它里面调用的截图:

    有关BackgroundWorker的示例和详细信息,可以参考MSDN ,其中有它各个方法属性事件的介绍,还有两个Demo。

  • 相关阅读:
    文件系统操作与磁盘管理
    文件打包与压缩
    环境变量与文件查找
    Linux 目录结构及文件基本操作
    用户及文件权限管理
    基本概念及操作
    iOS 一个简单的单例
    Xcode编译Undefined symbols for architecture xxx 错误总结
    iOS 直播
    iOS8.1 编译ffmpeg和集成第三方实现直播(监控类)
  • 原文地址:https://www.cnblogs.com/yuqf/p/3075317.html
Copyright © 2011-2022 走看看