C 事件 自定義事件

2021-08-25 13:04:22 字數 759 閱讀 3973

事件有很多,比如說

滑鼠的事件:mousermove,mouserdown等。

鍵盤的事件:keyup,keydown,keypress。

有事件,就會有對事件進行處理的方法,而事件和處理方法之間是怎麼聯絡起來的呢?委託就是他們中間的橋梁,事件發生時,委託會知道,然後將事件傳遞給處理方法,處理方法進行相應處理。

比如在winform中最常見的是按鈕的click事件,它是這樣委託的:this.button1.click += new system.eventhandler(this.button1_click);按按鈕後就會出發button1_click方法進行處理。eventhandler就是系統類庫里已經宣告的乙個委託。-------委託例項化,this.buttion1_click為方法名

eventhandler以及其它自定義的事件委託都是一類特殊的委託,他們有相同的形式:

delegate void 事件委託名(object sender,eventargs e);

object用來傳遞事件的發生者,比如button控制項就是乙個事件發生者;eventargs用來傳遞事件的細節。

我們看下面的例子:

using system;

namespace 最簡單的自定義事件}}

}///

/// 事件接收類

///

class class2

private static void c1_onuserrequest(object sender, eventargs e)}}

c 自定義事件

此 摘自 叩響c 之門 c sharp view plain copy using system 事件傳送者 class dog 事件接收者 class host 註冊事件處理程式 public host dog dog 現在來觸發事件 class program 午夜零點小偷到達,看門狗引發ala...

C 自定義事件

本身今天晚上是要寫一篇關於自定義事件的部落格,然後自己再擼會 可是計畫不如變化,今天聽到同事談到陳冠希拍紀錄片,所以就去優酷上看了一下,連著看完了,要知道我這人有點強迫症,要搞一件事情一定要搞完的,所以現在已經快11點了,記錄完這個就去睡覺了。關於c 自定義事件,通俗的講,它就是乙個特殊的委託。可以...

C 自定義事件

簡單的自定義事件 首先定義乙個類來監聽客戶端事件,這裡我們監聽鍵盤的輸入。定義乙個委託。public delegate void userrequest object sender,eventargs e 前面的object用來傳遞事件的發生者,後面的eventargs用來傳遞事件的細節,現在暫時沒...