Demo源碼
背景
經常做些小程序或者小DEMO的時候會用到異步,多線程來執行一些比較耗時的工作同時將進度及時進行反饋。我通常會使用位於【 System.ComponentModel】命名空間下的BackgroundWorker控件。雖說該控件的屬性和事件很簡單,但是,我也老是會忘記。所以,本篇文章的目的就是把BackgroundWorker控件封裝一下。我只需要關注,我要做的事情(DoWork),做完後要做的(RunWorkerCompleted),進度反饋(ProgressChanged)就行了。
項目結構一覽
下面是Demo的項目結構圖:
最簡單的調用
封裝的BackgroundWorker類中對各個事件提供了一個默認的實現,因此在控制台的測試項目中的項目中的使用尤為簡單,見以下代碼
BackgroundWorker bw =
運行的效果圖為:
總結
只是一個小小的封裝,代碼很簡單,從此伙伴們使用BackgroundWorker就可以用這個封裝,一方面可以避免自己忘記,另一方面,使用也更加簡潔!