程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 與C/C++指針相似的C#代表元及事件觸發(2)

與C/C++指針相似的C#代表元及事件觸發(2)

編輯:關於C語言

事件驅動是Windows應用程序的重要特征C#代表元就是用於產生事件,事件就是用於在一個組件中監聽這個組件的變化。下面再舉一個簡單的例子:

//定義一個事件代理(代表元)
public delegate void EventHandler
(string str);
//定義事件源類
class EventSource
{
//定義代表元作為事件源類的成員
public event EventHandler Say;
public void TriggerEvent()
{
if(this.Say!=null)
//因為Say是個代表元所以執行Say方法
所做的實際操作由注冊到它的事件處理函數決定
Say("A event take place!");
}
}
//測試
class Test
{
public static void Main()
{
EventSource aEventSource=new EventSource();
//注冊事件處理函數為MyEvent
顯示一串字符類似於this.Click+=new
EventHandler(Button1_OnClick);
aEventSource.Say+=new EventHandler(MyEvent);
//此處為演示事件觸發過程所以就用程序自動觸發
//在圖形界面應用程序中,一般由用戶觸發事件,
後由操作系統發送消息並調用處理函數
所以程序員只要注冊事件處理函數
//和編寫事件處理函數的代碼其他就不用關心了
aEventSource.TriggerEvent();
}
//事件處理函數
public static void MyEvent(string str)
{
System.Console.WriteLine(str);
}

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved