// My Class // 示范类 // Declare EventArgs for transfer custom parameter // 声明事件参数 参数可以自定义要传递的值 public class MyEventArgs : EventArgs { String MyField; public MyEventArgs(String field) { this.MyField = field; } public virtual String MyProperty { get { return MyField;} } } // Declare delegate and event and raise event function // 声明代理,事件和激发事件的方法 public delegate void MyEventHandler(object sender, MyEventArgs e); public event MyEventHandler MyEvent; protected void RaiseMyEvent(String field) { MyEventHandler MyEvent = this.MyEvent; if ((MyEvent != null)) { MyEvent(this, new MyEventArgs(field))); } } // Raise the event in code // 激发事件 ... string field = "abc"; RaiseMyEvent(field); ... // User Class // 处理事件的用户类 MyClass.MyEvent += new MyClass.MyEventHandler(HandleIt); void HandleIt(object sender, MyEventArgs e) { string field = e.MyProperty; } Any question please let me know.