定期我發現自己寫了一些實用程序,它們使用一些需要一段時間來處理的循環。然而,當循環進行時,表單不再刷新,因此如果要移動表單或將另一個窗口移動到其上並關閉,表單將保留爲空,直到循環結束。當我的程序使用後臺工作程序進行工作時,如何讓表單保持空白?
現在我知道處理這個問題的正確方法是使用後臺工作來在單獨的線程上執行耗時的任務。但是我還沒有完全掌握多線程技術。
所以,如果我只打算使用一個線程,每個循環最好做的事情是保持表單的內容是最新的。例如,表單中可能會有一個進度條。我見過並使用Form.Refresh(),Form.Update()和Application.DoEvents()的各種組合,但想知道處理這個問題的最佳方法是什麼?
同意。 'DoEvents'可能會產生棘手的副作用。 –