[C#] 跨執行緒使用ListBox

問題描述:

  • 在程式中,需要大量時間來執行的方法,我們會使用執行緒來處理。
  • 而當執行緒呼叫的方法,想要在 UI的ListBox更新資料時,會出現跨執行緒的錯誤。


解決方法:

  1. 利用 Delegate (委派) 將存取 UI 的方法呼叫到主執行緒。
  2. 將Thread改為使用 BackgroundWorker。

 

方法1之範例:

2015-9-1 下午 11-49-112015-9-2 上午 12-02-21

2015-9-2 上午 12-01-44

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s