Demo源码

背景

  经常做些小程序或者小DEMO的时候会用到异步,多线程来执行一些比较耗时的工作同时将进度及时进行反馈。我通常会使用位于【 System.ComponentModel】命名空间下的BackgroundWorker控件。虽说该控件的属性和事件很简单,但是,我也老是会忘记。所以,本篇文章的目的就是把BackgroundWorker控件封装一下。我只需要关注,我要做的事情(DoWork),做完后要做的(RunWorkerCompleted),进度反馈(ProgressChanged)就行了。

项目结构一览

  下面是Demo的项目结构图:

最简单的调用

  封装的BackgroundWorker类中对各个事件提供了一个默认的实现,因此在控制台的测试项目中的项目中的使用尤为简单,见以下代码

  class Program{static void Main(){//获取一个BackgroundWorkerBackgroundWorker bw = BackgroundWorkerExtension.InitNewBackgroundWorker();//异步执行
            bw.RunWorkerAsyncExt(); Console.ReadLine();}}

  运行的效果图为:

总结

  只是一个小小的封装,代码很简单,从此伙伴们使用BackgroundWorker就可以用这个封装,一方面可以避免自己忘记,另一方面,使用也更加简洁!

转载于:https://www.cnblogs.com/SmallZL/p/3652211.html

封装BackgroundWorker控件(提供源代码下载,F5即可见效果)相关推荐

  1. WCF版的PetShop之一:PetShop简介[提供源代码下载]

    在<WCF技术剖析(卷1)>的最后一章,我写了一个简单基于WCF的Web应用程序,该程序模拟一个最简单的网上订购的场景,所以我将其命名为PetShop.PetShop的目在于让读者体会到在 ...

  2. 城市地图, 军事地图, 矿山地图, 电力地理, 电子地图, 制图, 编辑, OCX控件, VC++源代码组件库...

    城市地图, 军事地图, 矿山地图, 电力地理, 电子地图, 制图, 编辑, OCX控件, VC++源代码组件库 --企业级电子地图可视化源码解决方案,源代码全部提供,无任何保留! 使用E-Form++ ...

  3. WPF DataGrid 和LINQ to SQL示例程序之一 (提供源代码下载)

    WPF DataGrid 和LINQ to SQL示例程序之一 (提供源代码下载) WPF DataGrid 系列示例程序,由浅入深逐步介绍如何在WPF 应用程序中使用新的DataGrid 控件.本篇 ...

  4. .Net控件Telerik全套下载:Telerik Controls 2010 Q2 (附加DLL文件+源码)

    Telerik专注于微软.Net平台的表示层与内容管理控件. Telerik Controls 2010 Q2控件组包括如下组件: Telerik RadControls for ASP.NET AJ ...

  5. Silverlight 2 控件 SDK 源代码

    微软发布了Silverlight 2 控件SDK 源代码,里面包含三个项目: 这是学习如何制作Silverlight控件的最佳实践,更详细信息参看这里:Published the Source cod ...

  6. 【delphi】腾讯云短信发送控件(源代码、帮助文档、演示程序)

    1. 腾讯云短信控件 在开发小程序注册的时候,需要发送短信,所以就专门开发了腾讯云的短信发送控件,这样发送短信就可以直接使用,不需要再进行签名等麻烦的开发了,只需要设置几个简单参数即可. 1.1 控件 ...

  7. SPC软控件提供商NWA的产品在各行业的应用(化工行业)

    Northwest Analytical (NWA)是全球领先的"工业4.0"制造分析SPC软件控件提供商.产品(包含: NWA Quality Analyst , NWA Foc ...

  8. c#中BackGroundWorker控件

    一.BackGroundWorker工作步骤 1.向窗体中拖入一个BackGroundWorker控件. 2.在某个方法或者事件中,调用BackGroundWorker的RunWorkerAsync( ...

  9. rdlc tablix_SQL Server中的报表–通过分组功能(由Tablix控件提供)处理数据

    rdlc tablix 介绍 (Introduction) In many of our past "get togethers" we have discussed pivoti ...

最新文章

  1. 系统要关闭,可我程序还有事要处理?
  2. [MIPS汇编语言]对于数的输入和输出
  3. springboot+security整合(1)
  4. [转]Socket的阻塞模式和非阻塞模式
  5. oracle to pgsql,PostgresToOracle
  6. 英语发音规则---W字母
  7. linux pip的安装路径,pip使用详解(包括pip install安装路径)
  8. Power BI数据源之web
  9. PackageManager解析
  10. 服务器XP系统打印机共享设置,WinXP系统网络打印机怎么设置?WinXP打印机共享设置方法...
  11. 远程如何重装linux系统,独立服务器远程重装Linux系统
  12. 压缩的Swf文件利用Python解压
  13. ubuntu清理垃圾
  14. jw player 6 断点续播 seek()
  15. 技术牛人---章文嵩博士---做系统要先了解业务的需求
  16. 小写转大写金额 php,php小写金额转大写
  17. 如何将MAC设成wifi热点
  18. 18650圆柱锂电池comsol5.6模型 参数已配置,电化学生热研究,三种放电倍率
  19. RuoYi-Vue部署服务器流程
  20. php redis序列化,php session之存储在redis的方法

热门文章

  1. 领导让我重写测试代码,我该怎么办?
  2. Selenium入门(自动右键保存图片到本机上)
  3. python中文聊天机器人_[源码和文档分享]基于python的中文聊天机器人
  4. el-table固定列之后没有出现滚动条_一道经典的MySQL面试题,答案出现三次反转...
  5. VGG16迁移学习,实现医学图像识别分类工程项目
  6. yolo3 检测出图像中的不规则汉字
  7. 【免费】某平台3980元大数据课程免费下载,仅此1次
  8. fckeditor漏洞_一、Ewebeidtor编辑器漏洞
  9. js html转盘点名,原生JS实现简易随机点名功能
  10. 查询oracle表空间有什么数据,oracle查询表空间使用情况与查询有哪些数据库实例在运行...