今天更新一支程式到.Net 2.0,居然丟出例外;原因是我在背景執行緒更新Control。
解決方法:
詳細寫法請參考MSDN:HOW TO:進行對 Windows Form 控制項的安全執行緒呼叫
BTW,為什麼看MSDN現在也需要登入Passport?
參考資料(.Net 1.1):HOW TO: 使用 Visual C# .NET 在多執行緒環境中同步處理共用資源存取
解決方法:
宣告 Control.CheckForIllegalCrossThreadCalls = true ,就與.Net 1.1相同模式;可能造成 Thread Unsafe
- 對控制項進行實際呼叫的委派 (Delegate) 呼叫 Invoke
詳細寫法請參考MSDN:HOW TO:進行對 Windows Form 控制項的安全執行緒呼叫
BTW,為什麼看MSDN現在也需要登入Passport?
參考資料(.Net 1.1):HOW TO: 使用 Visual C# .NET 在多執行緒環境中同步處理共用資源存取
留言