- event必须声明在一个类里面
- 事件和方法属性一样,是类或者结构的成员
声明一个event
calss Incrementer
{
public event Eventhandler CountedADozen;
Eventhandle 委托类型
Counted 事件名
}
订阅事件
订阅者向事件添加事件处理程序。必须有和事件的委托相同的返回类型和签名
incrementer.CountedADozen+=IncrementDozensCount;实例方法
incrementer.CountedADozen+=ClassB.CounterHandleB;静态方法
incrementer.CountedADozen+=new EventHandle.(cc.CounterHandleC);委托形式
incrementer.CountedADozen+= delegate { DozensCount+;}匿名形式
事件用在GUI上,标准模式是EventHandler
1. 第一个参数用来保存触发事件的对象,可以匹配任何类型的实例
2.第二个参数用于保存状态信息
3.返回类型是void
public delegate void EventHandler(object sender, EventArgs e);
EventArgs不能传递任何参数,
如果希望传递参数,需要声明一个派生于EventArgs的类,