通常c#自定義事件有下面的幾個步驟:
1、宣告乙個delegate: (用於事件的型別的定義)
如:c#**
public delegate void 委託名稱eventhandler(object serder, eventargs e);
如果你想自定義事件的引數eventargs,你可以從這個類派生你自己的事件引數類,然後在delegate的宣告中,用你的引數類替換eventargs
注:要全面了解自定義事件的原理,你需要學習有關delegate的知識。
2、在你的類中宣告乙個事件,並且使用步驟1的delegate宣告的委託名稱作為事件的型別
如:c#**
public event 委託名稱eventhandler 事件名稱;
3、在你的類中需要觸發事件的方法中,新增事件觸發**:
如:c#**
事件名稱(this, new eventargs());
或者 if(事件名稱!=null)
事件名稱(this, new eventargs());
//如果使用你自己的事件引數類,你可以用你的引數類事例替換new eventargs(), 同時在你的引數類中儲存你需要傳遞的資料。
4、在c#中自定義事件註冊:
事件註冊和普通的事件註冊沒有不同,也就是說如果乙個外部的物件在你的事件被觸發的時候需要作出響應,那麼你可以在外部了構造器中(或者適當的地方)對事件進行註冊
如:c#**
帶有事件的類例項.事件名稱+= new 事件名稱eventhandler( 事件處理方法名稱);
5、編寫事件處理方法:
如:c#**
public void 事件處理方法名稱(object sender, eventargs e)
6、c#自定義事件登出
如:c#**
帶有事件的類例項.事件名稱-=new 事件名稱eventhandler(事件處理方法名稱);
C 自定義事件的步驟
通常c 自定義事件有下面的幾個步驟 1 宣告乙個delegate 用於事件的型別的定義 如 public delegate void 事件名稱eventhandler object serder,eventargs e 事件名稱用你的自己的來代替,隨後的eventhandler是c 的建議命名規範,...
C 自定義事件的步驟介紹
通常c 自定義事件有下面的幾個步驟 1 宣告乙個delegate 用於事件的型別的定義 如 public delegate void 事件名稱eventhandler object serder,eventargs e 事件名稱用你的自己的來代替,隨後的eventhandler是c 的建議命名規範,...
C 自定義事件的步驟介紹
通常c 自定義事件有下面的幾個步驟 1 宣告乙個delegate 用於事件的型別的定義 如 public delegate void 事件名稱eventhandler object serder,eventargs e 事件名稱用你的自己的來代替,隨後的eventhandler是c 的建議命名規範,...