我有一個winform,並與樂高nxt磚藍牙連接。現在我想每秒鐘更新表格以讀取傳感器或電池電量。但是,如果我爲此啓動一個新線程,那麼當線程想要設置標籤文本時,會出現無效的線程操作異常。如何異步更新winform?
任何人都可以幫助我嗎?
我有一個winform,並與樂高nxt磚藍牙連接。現在我想每秒鐘更新表格以讀取傳感器或電池電量。但是,如果我爲此啓動一個新線程,那麼當線程想要設置標籤文本時,會出現無效的線程操作異常。如何異步更新winform?
任何人都可以幫助我嗎?
您只能從創建它的線程,並通過它的外觀更新標籤您要更新從工作者線程。
看看方法Control.BeginInvoke()並從那裏採取。還有其他方法,如Control.EndInvoke和Control.Invoke以及屬性Control.InvokeRequired,這在這方面也會有所幫助。
你需要調用你的標籤更新發回主線程
請注意,他在WinForm中不是基於WPF的WinForm。 – Manfred 2010-08-12 18:59:51
你說得對。我錯過了。我一直堅持Silverlight/WPF模式一段時間:) – Mike 2010-08-12 19:02:17