事件处理程序委托 
void MyButton_Click(Object sender,
                    EventArgs E) {
...
} 声明事件 // Create a public event
public event EventHandler MyEvent;// Create a method for firing the event
protected void OnMyEvent(EventArgs e) {
      MyEvent(this, e);
}
向事件添加事件处理程序或从事件移除事件处理程序 
Control.Change += new EventHandler(this.ChangeEventHandler);
Control.Change -= new EventHandler(this.ChangeEventHandler); 

解决方案 »

  1.   

    大致如下:
    1.先定义要触发的事件对象public class MyEventArgs: System.EventArgs
    {
       private int newValue;
       public int NewValue
    {
      get{return newValue;}set{newValue = value;}
    }
    }2、定义事件代理public delegate void PropertyChangedHandler(object sender,MyEventArgs e);3、定义类,并在类中定义事件public class dog
    {
       public event PropertyChangedHandler PropertyChanged;   //定义事件处理方法
       protected virtual void OnPropertyChanged(MyEventArgs e)
       {
          if (PropertyChanged != null)
             PropertyChanged(this,e);
       }   private int age;
       public int Age
       {
          get{return age;}
          set{ age = value;
             
             MyEventArgs e = new MyEventArgs();
             e.NewValue = age;
             OnPropertyChanged(e);      }
        }
    }
    4、使用实例
    public class Test
    {
        public static void main()
        {
              Dog aDog = new Dog();
              aDog.PropertyChanged += new PropertyChantedHandler(this.aDog_AgeChanged);
              aDog.Age = 10;
              
        }    private void aDog_AgeChanged(object sender, MyEventArgs e)
        {
             Console.Writeln(e.NewValue);
        }
    }
      

  2.   

    更正几个错误
    private static void aDog_AgeChanged //加上staticConsole.Writeline() //不是writelnaDog.PropertyChanged += new PropertyChantedHandler(aDog_AgeChanged);//去掉this
      

  3.   

    http://expert.csdn.net/Expert/topic/1843/1843548.xml?temp=.6340296