• 封装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就可以用这个封装,一方面可以避免自己忘记,另一方面,使用也更加简洁!

  • 相关阅读:
    1104
    HDU 1575
    hdu 1142(DFS+dijkstra)
    hdu 1015(DFS)
    hdu 1342(DFS)
    hdu 1181(DFS)变 形 课
    hdu 1312(DFS)
    hdu 5976 Detachment
    hdu 5795
    UVa 11729
  • 原文地址:https://www.cnblogs.com/SmallZL/p/3652211.html
Copyright © 2020-2023  润新知