1//定義代理
2public delegate void ConnectionErrorDelegate(ConnectionStatus status, string msg);
3//定義代理事件
4public event ConnectionErrorDelegate ConnectionErrorEvent;
5//定義代理對象
6private ConnectionErrorDelegate deleg = null;
7//定義代理的方法
8deleg = new ConnectionErrorDelegate(service_ConnectionErrorEvent);
9//將代理對象賦值給service對象的代理事件
10 service.ConnectionErrorEvent += deleg;
11//觸發這個事件
12ConnectionErrorEvent(status, errmsg);
先來分析一下,之前,我們常用了已經定好的代理和事件,我們要作的就是執行個體化代理對象,也就是真真要執行的方法,代理事件,和代理早就在.net組件中了,拿按鈕的單擊事件來說
我們在設計器中看到的是 this.button1.Click += new System.EventHandler(this.button1_Click);
其中的EventHandler // 摘要:
// 表示將處理不包含事件數目據的事件的方法。
[Serializable]
[ComVisible(true)]
public delegate void EventHandler(object sender, EventArgs e);
而this.button1.Click則是
//
// 摘要:
// 在單擊控制項時發生。
public event EventHandler Click;
現在大家明白了,我們要做的是定義個和代理相同參數的方法,將這個代理方法的入口給事件,點擊按扭,就可以了
在單擊按鈕時,應該是產生了Click(boject,e.empter);的方法,這裡面的參數是亂寫的,大概就是表示滑鼠的一些參數
具體思路就是這樣,有什麼不明白的可以加我的群聊