2015-02-11 55 views
-1

我有一個帶有webbrowser控件的usercontrol,並將其編譯爲自己的程序集。這個控制在我的項目中工作之前,打破了它自己的大會。如何在後期綁定時初始化用戶控件子控件

現在這樣做的目的是晚期綁定以組裝,實例化控件,並將其添加到我的表單上我的標籤控制。

Dim objAssembly As Reflection.Assembly 
objAssembly = Reflection.Assembly.LoadFrom(My.Application.Info.DirectoryPath + "\ppbb.dll") 
Me._SelectionDetail1 = objAssembly.CreateInstance("ppbb.SelectionDetail") 

當我通過這段代碼步驟似乎然而創建對象時,我嘗試一些HTML設置就可以了nullrefs的用戶控件WebBrowser控件。

我需要調用的用戶控件初始化器? 我可以延遲綁定用戶控件嗎?

感謝您的幫助, 添

回答

0

當你得到一個NullReferenceException,這可能意味着objAssembly.CreateInstance返回Nothing因爲它無法找到您所請求的類型(檢查這個使用調試器)。

請確保您指定的類型名稱是否正確。如果你的控制MyControl是一個模塊Test內部命名空間MyLib(只是一個例子着想一些隨機的名字)裏面,你必須使用objAssembly.CreateInstance("MyLib.Test+MyControl")

如果有疑問,只需檢查objAssembly.GetTypes()與調試器來獲得該組裝的所有類型的列表,尋找你控制的Type,並檢查該TypeFullName財產。

這就是你將不得不使用這樣CreateInstance會發現Type的字符串。