我有一些(28)控件。根据悬停的东西需要显示某些东西。我想知道是否有一种方法可以避免制作28个函数(每个控件悬停一个),也许只能制作一个?
EG。 我想替换这样的东西:
void btn1Hover() { value = 1; }
void btn2Hover() { value = 2; }
....
有类似的东西:
void btnsHover() { if(btn.Name= "btn1") value=1; else 2}
p.s sry代码缩进。我不知道它为什么不起作用。
答案 0 :(得分:1)
是的,这很有效。您将看到可以选择现有函数作为任何控件的事件处理程序。您可以为所有28个控件选择相同的功能。您在此函数中获得的第一个参数是发件人。这是你正在寻找的控制。
答案 1 :(得分:1)
只需创建一个能够满足您需求的功能,并将此功能添加到属性屏幕中所有按钮的MouseHover事件中。
答案 2 :(得分:1)
你可以使用这样的东西,在你的情况下使用Tag属性可能非常有趣
private void buttonMouseHover(object sender, EventArgs e)
{
value = ((Button)sender).Tag
}
您可以将此方法分配给按钮的事件MouseHover
答案 3 :(得分:0)
您可以创建一个可以使用Switch Statement的单个函数:
Switch
{
Case btn1Hover:
break;
Case btn2Hover:
break
}