C 基礎概念之事件

2021-06-06 04:52:29 字數 1402 閱讀 1793

事件,是c#

程式設計模型中重要的乙個概念,通過對事件的理解,可以更好的了解c#程式執行機制。c#中的事件,可以簡單的理解為類或者物件發生了一件事,並且把這件事通知給了其他的類或者物件,其他的類或者物件可以根據事件的訊息有所反應。這非常類似設計模式中的觀察者模式。

引發事件的類或物件,可以稱之為事件源,註冊並對處理事件的類或者物件可以稱為事件訂閱者或者事件監聽者,我比較喜歡稱之為事件監聽者。

比如:構建乙個winform應用,在窗體form1簡單放置乙個按鈕控制項,然後,雙擊按鈕,則可以進入**檢視中按鈕click事件處理程式。

private

void

button1_click(

object

sender, eventargs e)

這時,還可以開啟form1.designer.cs,還可以找到如下**:

this

.button1.click

+=new

system.eventhandler(

this

.button1_click);

以上是對c#事件的一些簡單的解釋。當然,我們也可以自定義事件。

自定義事件,分為如下幾步:

第一步:首先在事件源物件定義事件 

//定義事件

public

event

eventhandler myevnet;

第二步:在事件監聽者,訂閱事件

//事件註冊

this

.myevnet

+=new

eventhandler(myeventhandler);

第三步:在事件監聽者,編寫事件處理**:

//////

事件的處理

///

///

///

private

void

myeventhandler(

object

sender, eventargs e)

第四步:在事件源物件引發事件 

//判斷事件是否被註冊

if(myevnet

!=null

)

這僅是個演示,供各位參考,下面給出完整**,方便測試

簡單自定義事件,完整**

1

public

partial

class

form1 : form213

14

C 特性之事件

事件的本質 特殊的多路廣播委託 定義事件 事件訪問修飾符一般為public 定義為公共型別可以使事件對其他類可見 事件定義中還包括委託型別,既可以是自定義委託型別也可以是eventhandler 預定義 運用 運算子來訂閱事件,運用 運算子來取消訂閱事件 例 自定義委託事件 1 class hell...

DOM基礎之事件捕獲

前面我們學習了事件冒泡,那麼在dom中與冒泡對應的就是捕獲,讓我們一起來學習捕獲及應用吧。什麼是事件捕獲?捕獲型事件 event capturing 事件從最不精確的物件 document 物件 開始觸發,然後到最精確 也可以在視窗級別捕獲事件,不過必須由開發人員特別指定 簡單來說就是由外向內的觸發...

jQuery基礎之事件處理

事件 的第一種方式4 事件冒泡,子標籤的事件會傳遞給父標籤5 當點選子標籤時會將單擊事件傳遞給父標籤,導致父標籤也執行單擊事件6 function 11var div2 div2 12 div2.click function 15 16 事件 的第二種方式 17 使用delegate方法完成事件 1...