public class MyEventArgs : EventArgs
public Color Color {set; get;}
public string Name{set; get;}
public Color Color {set; get;}
public event EventHandler Click;
public event EventHandler Hover;
MyEventArgs arg1 = new MyEventArgs(){Color = Color.Blue};
MyEventArgs arg2 = new MyEventArgs(){Color = Color.Gold};
public void Button_Hover(object obj, EventArgs args)
Button btn = (Button)obj;
MyEventArgs me = (MyEventArgs)args;
Console.WriteLine("button {0} has {1}", btn.Name, btn.Color.ToString());
public void Button_Click(object obj, EventArgs args)
Button btn = (Button)obj;
MyEventArgs me = (MyEventArgs)args;
Console.WriteLine("button {0} has {1}", btn.Name, btn.Color.ToString());
public void subscribe(Button btn)
btn.Hover += this.Button_Hover;
btn.Click += this.Button_Click;
public void Button_Hover(object obj, EventArgs args)
Button btn = (Button)obj;
MyEventArgs me = (MyEventArgs)args;
Console.WriteLine("button {0} has {1}", btn.Name, btn.Color.ToString());
public void Button_Click(object obj, EventArgs args)
Button btn = (Button)obj;
MyEventArgs me = (MyEventArgs)args;
Console.WriteLine("button {0} has {1}", btn.Name, btn.Color.ToString());
public void subscribe(Button btn)
btn.Hover += this.Button_Hover;
btn.Click += this.Button_Click;
public static void Main()
Button open = new Button {Name = "Open", Color = Color.Silver};
Button edit = new Button {Name = "Edit", Color = Color.Silver};
Button save = new Button {Name = "Save", Color = Color.Silver};
Observer1 ob1 = new Observer1();
Observer2 ob2 = new Observer2();