如果我們的 Data Source 是非同步更新的話,那麼我們就很容易收到下面的錯誤訊息。
跨執行緒作業無效: 存取控制項 'xxx' 時所使用的執行緒與建立控制項的執行緒不同。(Cross-thread operation not valid: Control 'xxx' accessed from a thread other than the thread it was created on.)
一般遇到這個情況,我們通常就是判斷 Control.InvokeRequired
屬性,然後改用 Control.Invoke()
或 Control.BeginInvoke()
方法來修改控制項的屬性,如果是在有資料綁定的情況呢?怎麼解決這個跨執行緒的問題?