如何将EventHandler添加到动态加载的DLL?

时间:2016-09-20 13:54:03

标签: vb.net dynamic dll

我有一个包含usercontrol的DLL。

我正在动态加载DLL和usercontrol,但似乎无法弄清楚如何添加各种事件处理程序。

有人能指出我正确的方向吗?

加载DLL和控件的代码如下

Dim _ReportBuilderDLL As System.Reflection.Assembly = Assembly.LoadFrom("[FullPath]\ReportBuilder.dll")
Dim _ReportBuilderCtlType As Type = _ReportBuilderDLL.GetType("ReportBuilder.ReportBuilderControl")
Dim _ReportBuilderCtl As Object = Activator.CreateInstance(_ReportBuilderCtlType)

_ReportBuilderCtl.CancelButtonVisible = True
_ReportBuilderCtl.Size = ListBoxControl1.Size
_ReportBuilderCtl.Location = ListBoxControl1.Location

XtraTabPage2.Controls.Add(_ReportBuilderCtl)

运行之后,我想添加名为CancelPressed的事件处理程序。

它有参数sender作为对象,e作为MouseEventArgs

有人能帮帮我吗? 感谢

修改

我差点忘了,我尝试按如下方式添加一个事件处理程序但是出错了。

Dim _Event As EventInfo = _ReportBuilderCtlType.GetEvent("CancelPressed")
_Event.AddEventHandler(Me, New reportbuilderuc_CancelPressedDel(AddressOf reportbuilderuc_CancelPressed))

错误说“System.Reflection.TargetException:Object与目标类型不匹配”

0 个答案:

没有答案