2011年7月28日 星期四

VB BackGroundWorker 跨執行緒 操作 Form 的控制項問題

太瓶頸了,換Form呼叫,會友執行緒問題,
透過backgroundwork也沒辦法解

panel 又會碰到 SQL 部分呼叫 母Form 執行緒的 控制項操作問題
除非說,一個一個寫委派去叫用

不太確定可不可行
===========================
有點怪,我的DoWork都沒事做
都到了Complete才做事

應該有些跨執行緒的東西
可以在執行DoWork中途叫用才對

還是必須要透過委派
http://www.dotblogs.com.tw/yc421206/archive/2009/02/13/7141.aspx

===================================
BackGroundWorker 跨執行緒 操作 Form 的控制項

因為背景執行
將會另外開一個執行續
與表單上的執行緒
是不同執行緒

當操作 背景執行的 DoWork 時
如果內容會操作到表單的控制項
等於是跨執行續的操作
會造成例外事件

把一般的呼叫實作放在 DoWork
當方法實作會操作到Form的操作項時
將該方法實作放在 RunWorkerCompleted
執行完背景執行的執行緒後

會回到 Form 表單執行續
才去操作 Form 的控制項

沒有留言:

張貼留言