2010-07-16 42 views
1

我有一個窗體窗體對話框,點擊一個按鈕後,它會執行更長的時間。 因爲這需要時間,我想在對話框(animegif,avi或其他)上顯示動畫。我怎樣才能實現這一點。我是否需要一個自己的線程(我沒有線程的經驗)? 你能給我提供一個代碼片段如何實現這個嗎?在窗體窗體上顯示較長的過程中的動畫

回答

6

您可以使用普通PictureBox控件顯示動畫GIF,並且您可以在Ajaxload找到一些有用的動畫GIF。

但是,如果您正在UI線程上執行操作,程序將凍結,直到它完成。
爲了防止出現這種情況,請使用BackgroundWorker,如下所示:

將BackgroundWorker組件添加到窗體。
處理其DoWork事件並在那裏執行操作。
處理RunWorkerCompleted事件並隱藏PictureBox。
當你想開始操作時,顯示PictureBox,然後調用RunWorkerAsync方法。

+0

打我吧。 :) – 2010-07-16 13:10:26

1

我會把耗時的過程放在它自己的線程中,並在UI線程中顯示動畫gif。此外,禁用觸發該過程的按鈕可能會很有用,因此不耐煩的用戶不會多次點擊它。

相關問題