2011-06-06 85 views
1

我有一個程序在用戶單擊按鈕後在後臺運行相當長的操作。我已經實現了一個進度條,但如果窗口被觸摸或移動,那麼它會灰色並說(不重新調整)。一切仍然有效,當操作結束時程序恢復功能。 (但是用戶不知道這個:(不允許vb.net程序進入「無響應模式」的技巧

的最佳途徑的任何想法從happeneing 保持這個我用vb.net工作在Visual Studio 2010

+0

一直在尋找下面提到的兩個答案,但還沒有與他們玩耍。有沒有什麼可以阻止它說「超時」 – sealz 2011-06-06 19:40:36

回答

1

移動你的加工出來的主UI線程進入後臺工作線程是最好的解決辦法,但短期修復只是爲了讓窗口響應可能是在處理代碼中的適當位置使用Application.DoEvents

但是請注意,如果用戶仍然可以在表單上執行操作,則可以創建一些re-entrancy problems

3

我猜想,一些使用線程將有助於您可以將實際操作發送到與正在運行的應用程序不同的線程中,而不是使用線程。