封裝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就可以用這個封裝,一方面可以避免自己忘記,另一方面,使用也更加簡潔!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM