BackgroundWorker的替代者

2021-04-16 09:36:59 字數 588 閱讀 5165

樓主oldhunter(老獵人)

2006-04-23 23:43:34 在 .net技術 / 元件/控制項

開發提問

用過2.0中backgroundworker的網友估計都有遭遇不爽的經歷,網上有文章說已經被定為bug了.無bug版本估計要等.net的下乙個build了.  

前兩天寫了個backgroundworker的替代者,我在自己的軟體中已經用上了,

目前沒有發現問題.  

用法與backgroundworker一樣,除了乙個invokercontrol屬性.   此屬性主要用在更新form時,把狀態更新

方法的執行由執行緒池轉到呼叫執行緒中.估計用過多執行緒的都知道,這裡就不多說了.  

其它用法請參閱mdsn的backgroundworker類,裡面的屬性,方法及事件等與backgroundworker一模一樣,所以可以用作過度替代,等.net的build出來了再換過來:)  

另外,如哪位可以改進一下,也請貼了來與大家共享!   例如能不能實現不用invokercontrol而可以直接將狀態更新方法的執行轉移到呼叫執行緒.  

最後,如果大家喜歡請up一下,使更多的人有

機會

BackgroundWorker控制項

在我們的程式中,經常會有一些耗時較長的運算,為了保證使用者體驗,不引起介面不響應,我們一般會採用多執行緒操作,讓耗時操作在後台完成,完成後再進行處理或給出提示,在執行中,也會時時去重新整理介面上的進度條等顯示,必要時還要控制後台執行緒中斷當前操作。程式執行步驟 1 呼叫backgroundworke...

BackgroundWorker元件的使用

using system using system.componentmodel using system.windows.forms namespace backgroundworker元件 private int numbertocomputer 0 private int highpercen...

關於BackgroundWorker的使用

dowork 呼叫 runworkerasync 時發生。progresschanged 呼叫 reportprogress 時發生。runworkercompleted 當後台操作已完成 被取消或引發異常時發生。先介紹一下backgroundworker的幾個屬性 方法 workerreports...