如何使一个事件处理程序适用于C#中的多个控件?

在Visual Basic中我知道该怎么做,但我是C#的新手,所以你们能告诉我如何使用鼠标hover将“同一事件”应用于多个控件? 有一个例子:

private void button1, button2, button3, button4_MouseHover(object sender, EventArgs e) { btn.Image = pic } 

只需声明一个事件处理程序并指向它的每个按钮:

 private void Common_MouseHover(object sender, EventArgs e) { Button btn = sender as Button; if (btn != null) btn.Image = pic } 

然后在代码或设计师:

 button1.MouseHover += Common_MouseHover; button2.MouseHover += Common_MouseHover; .. etc 

当您在按钮上订阅事件时,它只是一个标准的事件处理程序:

 button1.Click += myEventHandler; 

您可以使用相同的代码为每个按钮添加处理程序:

 button1.Click += myEventHandler; button2.Click += myEventHandler; button3.Click += myEventHandler; button4.Click += myEventHandler; button5.Click += myEventHandler; button6.Click += myEventHandler; 
 button1.MouseOver += OnMouseOver(...) button2.MouseOver += OnMouseOver(...) button3.MouseOver += OnMouseOver(...) button4.MouseOver += OnMouseOver(...)