在Visual Basic中,我知道怎么做,但我是C#新手,所以你们能告诉我,如何用鼠标悬停做一个 "private void",把同一个事件应用到多个控件上?有一个例子。
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(...)