(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)
第二步:定义一个合适的消息
由于标准的EventArgs类不包含附加数据,可继承此类,使该类包含与特定时间相关的信息,
如: Public class MoveEventArgs
{ Public int newPosition;
Public MoveEventArgs(int newPosition)
{
this.newPosition = newPosition
}
}
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)
第三步:发送方声明事件并设置激发事件的代码
声明事件:Public event 委托类型与事件标识
必须使用Public声明事件,否则接收方就不能登记事件处理器,激发一个事件的代码如下:
if (事件标识 != null)
{
MoveEventArgs args = new MoveEventArgs(value1);
}
事件标识(this,args)(注意:次事件为dotnet标准事件)
另:建议直接使用标准系统委托 EventHandler
发送消息 MyEvent(this.args);
Public event EventHandler MyEvent;
声明一个事件变量
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)
第四步:接收方登记事件处理器
事件处理器也是一种委托,将接收方要完成的功能加入到事件处理器,实现委托与事件的挂钩,一旦接收方收到发送的消息后,将立即执行该方法,实现功能。
Sender s1 = new Sender();声明一个发送方实例
s1.事件标识 += new定义的委托(要实现的功能代码)
将事件与要实现的功能挂钩。
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)
第五步:等待事件的发生
注意:接收方只能处理登记完成了事件处理器后的事件,对于在事件处理器之前就发生的事件,接收方并不能处理。