自定义控件的事件传递,一般都是有参数的,我们也想需要是能传递参数,下面给个简单的实例,总结如下:
需要使用delegete 来派生新的EventArgu,使用新的:
1:
声明自己的派生类,用来传递参数(EventArgs)
class myEventArgs:EventArgs
{
public myEventArgs( parameter )
{ }
...
. ...//成员变量
}
2 声明自己的委托类型:
public delegate void MyEventHandler(object sender,myEventArgs e);
3 声明事件
public Event MyEventHandler OnSelectChanged;
4
在需要促发的地方添加如下:
myEventArgs e=new myEventArgs(参数);
if(OnSelectChanged!=null)
{
OnSelectChanged(this,e);
}
这样的几步就实现了事件的添加,它是可以传递参数的事件。
这个在我写c#自定义控件的时候大量被使用。