C#调用外部类库中事件的问题
最近写一个程序,调用了一个外部的Dll库文件,里面有个事件。不知道怎么去调用它。用事件订阅的方式可以执行,但是在事件处理方法里面对控件赋值时,提示 Form.dll偶尔的类型出错,控件的值没有变化。不知道是怎么回事。下面是代码:
public ExecClass(MainForm From) //类构造函数中订阅事件 {
base.onProgressChanged += new _IPSExchangeEvents_onProgressChangedEventHandler(main_onProgressChanged);
}
/// <summary>
/// 事件处理
/// </summary>
public void main_onProgressChanged(object sender, int e)
{
TextBox1.Text = e.ToString(); //执行这里时在输出窗口中就提示类型错误了,但是e中是有值的,文本框中就没有值。求解????
}
------解决方案-------------------- main_onProgressChanged(object sender, int e)
第二个参数是整型,看看那个事件要的是啥类型
------解决方案--------------------事件参数,基类是EventArgs,你要传递int数据,自己要派生一个事件参数类:
C# code
public class YourArgs:public EventArgs
{
public int data;
}
------解决方案--------------------
那个位置应该是 继承自EventArgs 的一个类
你可以先写 EventArgs 然后断点看下具体的类型
------解决方案--------------------
在你要触发事件的地方:
YourArgs args=new YourArgs ();
args.data=100;
OnProgress(args);//触发事件
你可以看看MSDN上面对事件的介绍。。。