2015-02-11 72 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的字符串。