這裏是我的代碼的情況下,跨線程操作控制
在主線程創建面板(S)(基於一些配置),然後在基於文件類型(下一步如視頻, PPT,圖像...)我創建適當的控件(動態)以顯示在窗體上。
控件的創建將在單獨的線程中完成(針對每個文件)。創建控件後,當我嘗試將該控件添加到面板(主線程中創建的面板)時,它會引發錯誤,如cross thread violation, control was accessed from one thread other that it was created
。
有人可以幫我這方面嗎?
在這種情況下,一切 - 創建面板和控件 - 將是動態的。沒有什麼會是靜態的。
我嘗試了一些在StackOverflow上找到的文章(例如,control.BeginInvoke()
..等),但無法解決我的問題。
Benjol,是的你是正確的,Control.invoke將是答案,但對我來說,我需要添加一個新的控制面板。但是這種方法會更新表單上已存在的控件。讓我知道,有沒有其他的方式來處理control.invoke()。 – 2010-09-08 12:59:40