1 delegate void MoveEventHandle(object source,MoveEventArgs e); 2 public class MoveEventArgs:EventArgs 3 { 4 public int newPosition; 5 public bool cancel; 6 public MoveEventArgs(int newposition) 7 { 8 this.newPosition=newposition; 9 }10 }11 class Slider12 {13 int position;14 public event MoveEventHandle Move;15 public int Position16 {17 get18 {19 return position;20 }21 set22 {23 if(position!=value)24 {25 if(Move!=null)26 {27 MoveEventArgs args=new MoveEventArgs(value);28 Move(this,args);29 if(args.cancel)30 return;31 }32 position=value;33 }34 }35 }36 }37 class Form38 {39 static void Main()40 {41 Slider slider=new Slider();42 slider.Move+=new MoveEventHandle(slider_Move);43 slider.Position=20;44 slider.Position=60;45 }46 static void slider_Move(object source,MoveEventArgs e)47 {48 if(e.newPosition<50)49 console.writeline("OK");50 else51 {52 e.Cancle=true;53 console.writeline("Can't go that higjh");54 }55 }56 }