zoukankan      html  css  js  c++  java
  • 封装BackgroundWorker控件(提供源代码下载,F5即可见效果)

    Demo源码

    背景

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

    项目结构一览

      下面是Demo的项目结构图:

    最简单的调用

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

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

      运行的效果图为:

    总结

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

  • 相关阅读:
    2-SAT模板
    AC自动机
    省选预备营-Day3(图论) 总结
    省选预备营-Day2(分治) 总结
    左偏树(可并堆)总结
    省选预备营-Day1(数据结构) 总结
    OI基础知识
    C++ 堆
    CH4601 普通平衡树
    java 函数形参传值和传引用的区别
  • 原文地址:https://www.cnblogs.com/SmallZL/p/3652211.html
Copyright © 2011-2022 走看看