今天看到別人的部落格中提到了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...