4
檢查InvokeRequired
和調用Invoke
方法控制 和父表單如果我想處理來自另一個線程的控件,有什麼區別?爲父窗體或目標控件使用Invoke之間是否有區別?
if (theForm.InvokeRequired)
Invoke(...)
或者
if (myControl.InvokeRequired)
myControl.Invoke(...)
從MSDN:
,直到它發現有一個窗口句柄,如果電流控制的基本控件或窗體的Invoke方法搜索了控件的父鏈窗口句柄還不存在。
從技術上講,情況可能不是這樣。非常罕見,但Windows確實支持禁止SetParent()來打破該規則。例如,Adobe Acrobat Reader就是這樣做的。但是AxHost包裝器仍然與UI線程相關聯。 Winforms將會與你抗爭,並阻止你這樣做。你可以贏。 – 2010-11-11 15:40:56