我有几个(28)控件。有些东西需要根据悬停的内容来显示。我想知道是否有一种方法可以避免制作28个函数(每个控件悬停一个),也许只制作一个?我想用这样的东西来代替:
void btn1Hover() { value = 1; } void btn2Hover() { value = 2; } ....
类似于:
void btnsHover() { if(btn.Name= "btn1") value=1; else 2}
我不知道为什么,我不知道为什么,我不知道为什么。
zysjyyx41#
是的,可以。您将看到您可以选择一个现有的函数作为任何控件的事件处理程序。您可以为所有28个控件选择同一个函数。您在此函数中获得的第一个参数是sender。这就是您要查找的控件。
jgzswidk2#
您可以这样使用,在您的情况下使用Tag属性可能会非常有趣
private void buttonMouseHover(object sender, EventArgs e) { value = ((Button)sender).Tag }
可以将此方法分配给按钮的MouseHover事件
lawou6xi3#
只需创建一个函数,使你想要的,并添加这个函数到所有按钮的MouseHover事件从属性屏幕。
mlmc2os54#
您可以创建一个可以在其中使用Switch语句的函数:
Switch { Case btn1Hover: break; Case btn2Hover: break }
4条答案
按热度按时间zysjyyx41#
是的,可以。您将看到您可以选择一个现有的函数作为任何控件的事件处理程序。您可以为所有28个控件选择同一个函数。您在此函数中获得的第一个参数是sender。这就是您要查找的控件。
jgzswidk2#
您可以这样使用,在您的情况下使用Tag属性可能会非常有趣
可以将此方法分配给按钮的MouseHover事件
lawou6xi3#
只需创建一个函数,使你想要的,并添加这个函数到所有按钮的MouseHover事件从属性屏幕。
mlmc2os54#
您可以创建一个可以在其中使用Switch语句的函数: