C# WinForm:是否可以对多个控件使用相同的函数,但根据悬停的内容返回不同的结果?

C# WinForm:是否可以对多个控件使用相同的函数,但根据悬停的内容返回不同的结果?,c#,winforms,hover,controls,C#,Winforms,Hover,Controls,我有一些(28)控件。需要根据悬停的内容显示某些内容。我想知道是否有一种方法可以避免生成28个函数(每个控件悬停一个),而可能只生成一个 例如。 我想替换如下内容: void btn1Hover() { value = 1; } void btn2Hover() { value = 2; } .... 比如: void btnsHover() { if(btn.Name= "btn1") value=1; else 2} p、 s sry用于代码缩进。我不知道为什么它不起

我有一些(28)控件。需要根据悬停的内容显示某些内容。我想知道是否有一种方法可以避免生成28个函数(每个控件悬停一个),而可能只生成一个

例如。 我想替换如下内容:

 void btn1Hover() { value = 1; }
    void btn2Hover() { value = 2; }
    ....
比如:

 void btnsHover() { if(btn.Name= "btn1") value=1; else 2}

p、 s sry用于代码缩进。我不知道为什么它不起作用。

是的,它起作用了。您将看到,您可以为任何控件选择一个现有函数作为事件处理程序。您可以为所有28个控件选择相同的函数。此函数中的第一个参数是sender。这就是您正在寻找的控件。

是的,它可以工作。您将看到,您可以为任何控件选择一个现有函数作为事件处理程序。您可以为所有28个控件选择相同的函数。此函数中的第一个参数是sender。这就是您要寻找的控件。

您可以创建一个函数,在其中可以使用Switch语句:

Switch
{
  Case btn1Hover:
  break;
  Case btn2Hover:
  break
} 

您可以创建一个函数,在其中可以使用Switch语句:

Switch
{
  Case btn1Hover:
  break;
  Case btn2Hover:
  break
} 

只需创建一个生成所需内容的函数,并将此函数添加到属性屏幕中所有按钮的鼠标悬停事件中。

只需创建一个生成所需内容的函数,并将此函数添加到属性屏幕中所有按钮的鼠标悬停事件中。

您可以使用类似的方法,在您的案例中,使用Tag属性可能非常有趣

private void buttonMouseHover(object sender, EventArgs e)
    {
        value = ((Button)sender).Tag  

    }

您可以将此方法指定给按钮的事件鼠标悬停

您可以使用类似的方法,在您的情况下,使用Tag属性可能非常有趣

private void buttonMouseHover(object sender, EventArgs e)
    {
        value = ((Button)sender).Tag  

    }

您可以将此方法分配到按钮的事件鼠标上方

如果您的回答听起来很像我在寻找的内容,请您提供有关在函数中使用发送器的材料或任何内容?创建函数,尝试一下,如果您有问题,请问一个问题。工作正常。非常感谢你的回答听起来很像我要找的,你能提供一个关于在函数中使用发送者的材料或任何东西吗?创建函数,尝试一下,如果你有问题,问一个问题。非常感谢。我对标签还不太了解,但我理解你的例子。我将此标记为有用的TOOTHANK,我鼓励您阅读更多关于标记及其用法的信息,您可以在这里找到第一个概述我对标记还不太了解,但我理解您在示例中的意图。我将把它标记为有用的toothanks,我鼓励您阅读更多关于标记及其用法的信息,您可以在这里找到第一个概述