我有我需要做一些工作的文件(小工具)的列表。我想以異步的方式做到這一點,所以我的界面保持響應。我想用進度更新UI。這是我的原型代碼。我該如何做到這一點?我假設我需要利用線程,但我也不想同時跨越所有線程,一個接一個都沒問題。如何編寫窗口小部件的異步處理?
void Process()
{
var documents = GetDocuments();
foreach(document in documents)
{
ProcessDocument(
document,
status => this.TextBox.Text += status);
}
}
void ProcessDocument(Document document, Action<string> onCompleted)
{
}
BackgroundWorker已棄用,以支持基於任務的編程 – LMB
@LMB您在哪裏閱讀過? BackGroundWorker上的MSDN頁面沒有提到這一點。順便說一下,我同意你的看法,TPL是Frameworks 4及更高版本的最佳方法。 –
@PanosRontogiannis我會嘗試找到確切的頁面,但我記得它在MSDN中,在關於任務名稱空間任務用法的頁面之一中。 – LMB