2011-10-12 56 views
0

我需要在VB.NET中的UI中以獨立線程執行代碼。該代碼需要每隔幾秒執行一次,以及用戶執行某個活動時執行。該線程將執行將改變UI的任務。我應該使用普通線程,然後使用Windows.Forms.Timer Timer每隔幾秒運行一次該線程,否則System.Threading.Timer類會更好地工作?.NET中的預定線程與Threading.Timer

此外,線程必須執行的代碼包含多個函數。我應該在同一個線程上執行所有的功能還是考慮將它們分成幾個線程?

感謝

回答

0

如果您更改UI Windows.Forms.Timer是最好的方式,因爲計時器已用事件將在UI線程提高,因此,你不必改變它。如果你想在改變UI之前做長時間的動作,那麼我更喜歡使用Threading.Timer。我會做持久的行動,然後切換到UI線程(通過Invoke)並更改UI。這將使用戶界面更加反應用戶操作。

+0

謝謝,我會嘗試。該線程需要大約1.5秒才能執行,因此它必須位於一個單獨的線程中,否則該程序不會非常靈敏。 – Johan

+0

勾選事件,未耗盡。 –