• 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。

  • 相关阅读:
    给 Advice 传递参数
    jenkins 部署问题
    Linux里的2>&1究竟是什么
    记一次 Spring 事务配置踩坑记
    Netty
    springboot logback 集成
    SpringBoot-服务端参数验证-JSR-303验证框架
    mysql 数据库 简单存储过程游标使用
    SQL Case when 的使用方法
    解决Unsupported major.minor version 51.0错误
  • 原文地址:https://www.cnblogs.com/yuqf/p/3075317.html
Copyright © 2020-2023  润新知