在我的应用程序中,我需要动态加载组件对象(com object)。我通过按程序ID(program id)加载COM来实现这一点。这一步骤成功了,我也能够访问动态加载的COM的方法和属性。但是在处理事件时遇到了一些问题。
请看以下代码:
请看以下代码:
dynamic ocx = m_axCtrl.GetOcx(); // ocx dynamic loading
ocx.method1();//success
ocx.Event1+=new EventHandler<object>(EventHandler1);
ocx.Event2+=new EventHandler<object>(EventHandler2);
public void EventHandler1(object sender , object e) // e is type of class1
{
}
public void EventHandler2(object sender , object e) // e is type of class2
{
}
public class class1
{
public string arg1;
public string arg2;
}
public class class2
{
public string arg1;
public string arg2;
public string arg3;
public string arg4;
public string arg5;
public string arg6;
}
我的第一个事件会被触发,而最后一个事件不会触发。我认为这是由于事件参数不匹配造成的。当创建上述类型的事件处理程序时,需要处理哪些事项?请帮助我。