我正在尝试以相同的方法处理多个控件的 mouseover 和 mouseleave 事件。我的表单有 10 个不同的按钮,我需要处理它们的鼠标事件。现在通常我会做这样的事情:
public Form1()
{
InitializeComponent();
button1.MouseEnter += new EventHandler(button1_MouseEnter);
button1.MouseLeave += new EventHandler(button1_MouseLeave);
}
void button1_MouseLeave(object sender, EventArgs e)
{
this.button1.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.img1));
}
void button1_MouseEnter(object sender, EventArgs e)
{
this.button1.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.img2));
}
但是因为我有 10 个控件,它们的处理方式基本相同,所以我发现为每个控件执行单独的方法是不切实际的,在我的例子中,它的 20 个方法几乎可以执行相同的操作,但针对不同的控件。
那么有没有办法将这些事件集成到一个中,并确定应该处理哪个控件。
编辑:
你能不能确定哪个确切的控件引发了事件,假设我有一个图片框,它根据悬停的按钮更改图像。