歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C#中自定義事件的注意事項

C#中自定義事件的注意事項

日期:2017/3/1 10:31:21   编辑:Linux編程

一個類中定義如下事件:




[csharp] 
  1. public delegate void AfterDrawPointEvent(object sender,double x,double y);

[csharp]
  1. private AfterDrawPointEvent pAfterDrawPointEvent;
  2. /// <summary>
  3. /// 插入要素事件
  4. /// </summary>
  5. public event AfterDrawPointEvent AfterDrawpoint
  6. {
  7. add
  8. {
  9. pAfterDrawPointEvent += value;
  10. }
  11. remove
  12. {
  13. pAfterDrawPointEvent -= value;
  14. }
  15. }
  16. private void RaiseAfterDrawPointEvent(object sender, double x,double y)
  17. {
  18. if (pAfterDrawPointEvent != null)
  19. {
  20. pAfterDrawPointEvent(sender,x,y);
  21. }
  22. }
然後定義實現的響應方法,注意要先去掉舊的響應方法,否則可能出現部分變量的狀態無法更新。代碼如下:

[csharp]
  1. m_pDrawCustomPoint.AfterDrawpoint-= new DrawCustomPoint.AfterDrawPointEvent(m_pDrawCustomPoint_AfterDrawpoint);
  2. m_pDrawCustomPoint.AfterDrawpoint += new DrawCustomPoint.AfterDrawPointEvent(m_pDrawCustomPoint_AfterDrawpoint);
Copyright © Linux教程網 All Rights Reserved