2010-11-23 20 views
0

我在做一個應用程序,其中包含讀取圖像文件並將其顯示在我自己設計的用戶控件中。這種或其他CPU密集型活動會導致gui故障和/或無響應。如何防止CPU密集型活動掛起或放慢.NET中的GUI

我很清楚,我應該把這些CPU密集型活動放在另一個線程中,但到目前爲止我還沒有找到一篇文章或示例項目,它會給我明確的指導來處理這些問題。

任何人都可以指引我放置在哪裏我可以找到這些信息?

在此先感謝。

MTH

+0

使用BackgroundWorker的建議很好,但也要記住'閱讀圖像文件'通常不是'cpu密集型',它是I/O密集型的。這不會改變你從UI線程中獲得它的動機,但你應該牢記這一差異。 – 2010-11-23 08:58:50

+0

@威爾迪恩 - 當然,但是所有的I/O操作之後都是處理被搶奪的數據,並且讓CPU保持忙碌狀態,我並不是說我喜歡忽略I/O,但我認爲它不那麼重要。 – MoreThanChaos 2010-11-23 16:44:48

回答

4

後臺工作是製作GUI響應一個不錯的選擇使用它,以及一個樣本。

1-背景工作者是基於事件的類。

2-它引發ProgressReport,DoWork,WokerCompleted等事件。

3-你只需要連接這些事件,你很好去。

4-如果您剛開始使用線程概念,那麼使用和推薦起來非常簡單。