BackgroundWorker元件學習

2022-05-18 06:34:26 字數 1593 閱讀 9460

今天看到別人的部落格中提到了backgroundworker元件。在現在的系統中有見到過這個元件,由於實際應用的系統中邏輯比較複雜所以也沒深入去看。今天湊巧看到了乙個關於backgroundworker元件的例子,對原**中存在的問題進行了一下修改。自己也學習了一下。

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.linq;

using

system.text;

using

system.windows.forms;

namespace

backgroundworkerdemo

private

void button1_click(object

sender, eventargs e)

private

void button2_click(object

sender, eventargs e)

private

void button3_click(object

sender, eventargs e)

private

void backgroundworker1_progresschanged(object

sender, progresschangedeventargs e)

private

void backgroundworker1_runworkercompleted(object

sender, runworkercompletedeventargs e)

private

void backgroundworker1_dowork(object

sender, doworkeventargs e)

private

bool

work(backgroundworker bk)

,操作被使用者申請中斷

", i));

return

false

; }

//處理的過程中,通過這個函式,向主線程報告處理進度,最好是折算成百分比,

//與外邊的進度條的最大值必須要對應。這裡,我沒有折算,而是把介面執行緒的進度條最大值調整為與這裡的總數一致。

bk.reportprogress(i, string.format("

當前值是

", i));

}return

true

; }}}

最後的效果是:

滾動條的效果還蠻拉風的~

使用BackgroundWorker元件

在應用程式中新增乙個backgroundworker例項,如果用的是vs,可以從工具上直接拖到應用程式 backgroundworker backgroundworker1 new backgroundworker 為了開始在後台操作,必須呼叫backgroundworker的runworkeras...

BackgroundWorker元件的使用

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

BackgroundWorker控制項

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