一个类中定义如下事件:
[csharp] - public delegate void AfterDrawPointEvent(object sender,double x,double y);
[csharp] - private AfterDrawPointEvent pAfterDrawPointEvent;
- /// <summary>
- /// 插入要素事件
- /// </summary>
- public event AfterDrawPointEvent AfterDrawpoint
- {
- add
- {
- pAfterDrawPointEvent += value;
- }
- remove
- {
- pAfterDrawPointEvent -= value;
- }
- }
- private void RaiseAfterDrawPointEvent(object sender, double x,double y)
- {
- if (pAfterDrawPointEvent != null)
- {
- pAfterDrawPointEvent(sender,x,y);
- }
-
- }
然后定义实现的响应方法,注意要先去掉旧的响应方法,否则可能出现部分变量的状态无法更新。代码如下:
[csharp] - m_pDrawCustomPoint.AfterDrawpoint-= new DrawCustomPoint.AfterDrawPointEvent(m_pDrawCustomPoint_AfterDrawpoint);
- m_pDrawCustomPoint.AfterDrawpoint += new DrawCustomPoint.AfterDrawPointEvent(m_pDrawCustomPoint_AfterDrawpoint);