2009-10-28 83 views
1

我有一個將文件導入數據庫的後臺任務。我希望用戶看到當前正在發生的事情(收集文件/導入文件),哪個文件當前正在處理以及任務進度有多遠。我怎樣才能以簡單的方式做到這一點?模型和控制器之間的交互非常接近,我幾乎可以將導入代碼放到窗口的代碼文件中,並直接更改進度欄值等。你怎麼看?你會如何解決這個問題?來自後臺任務的進度報告

回答

8

使用BackgroundWorker,這是完成此任務的完美選擇。它可以通過ReportProgress方法,它提高了UI線程上ProgressChanged事件(這意味着你不必擔心跨線程調用和Invoke

+0

BackgroundWorker是基本線程和報告的絕佳工具。 +1 – 2009-10-28 20:55:58

0

進度條可以是誤導性的通知的當前進度的UI很多情況下,我建議你小心設置期望值。

如果您確實以某種百分比顯示進度,請根據文件大小考慮不同的加載時間。