我有几个(28)个控件。需要根据悬停的内容显示某些内容。我想知道是否有办法避免制作 28 个函数(每个控件悬停一个),也许只做一个?
例如。我想替换这样的东西:
void btn1Hover() { value = 1; }
void btn2Hover() { value = 2; }
....
像这样:
void btnsHover() { if(btn.Name= "btn1") value=1; else 2}
PSY用于代码缩进。我不知道为什么它不起作用..
是的,这有效。您将看到可以选择现有函数作为任何控件的事件处理程序。您可以为所有 28 个控件选择相同的功能。在此函数中获取的第一个参数是发送方。这就是您正在寻找的控件。
您可以使用这样的东西,使用 Tag 属性在您的情况下可能非常有趣
private void buttonMouseHover(object sender, EventArgs e)
{
value = ((Button)sender).Tag
}
您可以将此方法分配给按钮的鼠标悬停事件
只需创建一个函数来制作您想要的内容,并将该函数添加到属性屏幕中所有按钮的 MouseHover 事件中。
您可以创建一个可以使用 Switch 语句的函数:
Switch
{
Case btn1Hover:
break;
Case btn2Hover:
break
}