網上關於委託與事件的使用方法和例子有很多,看得確實頭暈,講了使用事件的大致步驟:
1. 聲明關於事件的委託;
2. 聲明事件;
3. 編寫觸發事件的函數;
4. 建立事件處理常式;
5. 註冊事件處理常式;
6. 在適當的條件下觸發事件。
個人覺得其實就分為大致四步,結合下面案例:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace VistaRenderer{ public partial class LearnEvent : Form { //1.定義委託 public delegate void WuEvent(object sender, TestEventArgs e); //2.定義事件 public event WuEvent wuEvent; //事件在表單構造方法中使用 public LearnEvent() { InitializeComponent(); //3.註冊事件 wuEvent += new LearnEvent.WuEvent(processEvent); //4.下面兩步才是真正呼叫事件處理自己想要的內容,即觸發事件 TestEventArgs e = new TestEventArgs("我愛你"); wuEvent(this,e); } //定義自己的處理方法 void processEvent(object sender, TestEventArgs e) { MessageBox.Show(e.Name); } } //定義事件參數類 public class TestEventArgs : EventArgs { public string Name; public TestEventArgs(string name) { this.Name = name; } } }
這是一個form表單,可以直接拷到vs2008上面運行下。