吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

自定义事件

常常有这样的需求,我们要封装一个控件,这个控件内部做一些操作,然后通知使用这个控件的外界控件,以达到一些目的。

可以通过订阅这个控件的事件。

http://www.cnblogs.com/BeginnerClassroom/archive/2009/01/11/1373689.html

注意:

事件委托可以用使用其它任何参数:比如:
public delegate void ValueChangeHandler(string Value);

http://blog.sina.com.cn/s/blog_5cdc2a610100e5fz.html

http://developer.51cto.com/art/200908/141534.htm

 

 以上是标准写法。但比较复杂,

在C#中,封闭了  Action 和 Func 这两个委托,而且是泛型。

我们可以利用这两个委托来完成我们的自定义事件。

 

 也可以使用 泛型事件委托 EventHandler<TEventArgs>

为了简化自定义事件的开发,.NET基类库中提供了一个泛型事件委托:

publicdelegate void EventHandler<TEventArgs>(object sender,TEventArgs e)

从其定义可知,泛型参数TEventArgs 实际上代表了事件参数的类型。因此,无需再为自定义的事件定义一个

专有的委托,直接使用泛型事件委托 EventHandler<TEventArgs> 即可。

posted on 2011-10-12 23:25  _eagle  阅读(216)  评论(0编辑  收藏  举报