BackgroundWorker實現非同步

2021-04-24 03:23:54 字數 546 閱讀 4409

private void button1_click(object sender, eventargs e)

private void backgroundworker1_dowork(object sender, doworkeventargs e)

this.backgroundworker1.reportprogress(i);

system.threading.thread.sleep(10);

num += i;

}e.result = num;

}private void backgroundworker1_progresschanged(object sender, progresschangedeventargs e)

private void backgroundworker1_runworkercompleted(object sender, runworkercompletedeventargs e)

else if (e.error != null)

else

// 從 dowork

}

BackgroundWorker控制項

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

BackgroundWorker控制項使用方法

在使用之前先了解一些知識。1 backgroundworker 作用 主要用在單獨的執行緒上執行操作。backgroundworker ui 似乎處於停止響應狀態。如果您需要能進行響應的使用者介面,而且面臨與這類操作相關的長時間延遲,則可以使用 backgroundworker類方便地解決問題。2 ...

多執行緒 BackgroundWorker

backgroundworker 事件有三個 dowork 呼叫 runworkerasync 方法時引發 progresschanged 呼叫 reportprogress 方法時引發 runworkercompleted 當後台操作已完成 被取消或引發異常時引發 1 backgroundwork...