c# 中的「
事件」是當物件滿足一定條件,發生某些事情時,類向該類的客戶提供通知的一種方法。使用事件,擁有該事件的物件不必知道需要通知誰,一旦滿足了某個條件,將自動呼叫該事件,正確通知每個需要通知的物件。通過使用事件,提高了程式的模組化程度。
要在程式中使用自定義事件,需按以下步驟進行:
1
、宣告事件
要在類內宣告事件,首先必須宣告該事件的委託型別:
public delegate void selectionchangedeventhandler(object sender,
selectionchangedeventargs e);
說明:由於本示例程式需在事件中傳遞資料,因此定義了
eventargs
的派生類
selectionchangedeventargs
。public class selectionchangedeventargs : eventargs
}public selectionchangedeventargs(string selection)
}委託型別定義傳遞給處理該事件的方法的一組引數。多個事件可共享相同的委託型別,因此僅當尚未宣告任何合適的委託型別時才需要執行該步驟。
接下來,宣告事件本身:
public event selectionchangedeventhandler selectionchanged;
2
、呼叫事件
如果沒有任何客戶將委託與該事件掛鉤,該字段將為空;否則該欄位引用應在呼叫該事件時呼叫的委託。因此,呼叫事件時通常先檢查是否為空,然後再呼叫事件。
public class form2 : system.windows.forms.form}}
3
、與事件掛鉤
為了開始接收事件呼叫,客戶**先建立事件型別的委託,該委託引用應從事件呼叫的方法。然後它使用
+= 將該委託寫到事件可能連線到的其他任何委託上。
public class form1 : system.windows.forms.form
... ...
private void button1_click(object sender, system.eventargs e)
private void frm2_selectionchanged(object sender, selectionchangedeventargs e)
}
C 中的事件
目錄 介紹委託和事件 宣告事件 定義事件 註冊事件 實現事件 觸發事件 為事件增加 新增 刪除 方法 一 介紹委託和事件 事件是特殊化的委託,委託是事件的基礎,所以在介紹事件之前先介紹一下委託。委託 使用委託可以將方法應用 不是方法 封裝在委託物件內,然後將委託物件傳遞給呼叫方法的 這樣編譯的時候 ...
c 中的事件
說到了委託,現在就來說說事件吧,其實事件就是一種特殊的委託。有事件,就會有對事件進行處理的方法,而事件和處理方法之間是怎麼聯絡起來的呢?委託就是他們中間的橋梁,事件發生時,委託會知道,然後將事件傳遞給處理方法,處理方法進行相應處理。比如,在winform中最常見的是按鈕的click事件,它是這樣委託...
C 中的事件
目錄 介紹委託和 事件宣告 事件 定義 事件 註冊事件 實現事件 觸發事件 為事件增加 新增 刪除 方法 一 介紹委託和 事件事件是特殊化的委託,委託是 事件的基礎,所以在介紹 事件之前先介紹一下委託。委託 使用委託可以將方法應用 不是方法 封裝在委託物件內,然後將委託物件傳遞給呼叫方法的 這樣編譯...