事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发(触发)事件的对象叫做事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。在事件通讯中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET 框架定义了一个特殊的类型(Delegate),该类型提供函数指针的功能。委托是一个可以对方法进行引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调参考
ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconeventsdelegates.htm
ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconeventsdelegates.htm
代理是给客户响应函数做出一个规范(要求客户的响应函数的参数),
比如
public delegate EventHandler(object sender, EventArgs e);
这是一个代理
public event EventHandler TextChanged;
这是一个事件,事件的类型是EventHandler
他规定了这个事件的预定的响应函数必须符合EventHandler的参数表