2008-10-29 11 views

回答

5

(回答我的問題,對他人,以供將來參考)

認爲(尚未完全確定),這是因爲InvokeRequired將始終返回false如果控制尚未得到加載/顯示。我做了一個解決辦法,這似乎就目前而言,這是簡單的引用在它的創建者相關的控制手柄,像這樣的工作:(?見http://ikriv.com:8765/en/prog/info/dotnet/MysteriousHang.html - 向下cached version

var x = this.Handle; 

(相關問題:Boiler plate code replacement - is there anything bad about this code?

3

如果句柄尚不存在,您可以強制它通過繼承控件並調用CreateHandle;然而,更大的問題是:你爲什麼要使用尚未加載的表單進行操作?就我個人而言,我只會在Load之後啓動這樣的操作。

+1

表單被加載,但是這些都是動態加載到用戶控件中的控件,它尚未設置爲Visible = true(我認爲)。 – Benjol 2008-10-29 09:42:24

相關問題