C# 穆塞纳酒店;MouseLeave对象名

C# 穆塞纳酒店;MouseLeave对象名,c#,winforms,mouseevent,mouseenter,C#,Winforms,Mouseevent,Mouseenter,我想将MouseOver和MouseLeave事件添加到flowLayoutPanel中动态创建的面板中 我在一个名为“panels”的列表中添加了所有面板,它们可以通过“panels[index]”访问 现在我想向每个面板添加一个MouseOver和MouseLeave事件。 我认为可以获取panelname(鼠标在上面)并对每个事件使用一种方法,并使用其panelname(panel.Name)标识鼠标在上面的面板,但我在“sender”中找不到任何内容 有办法做到这一点吗 我的代码: //

我想将
MouseOver
MouseLeave
事件添加到flowLayoutPanel中动态创建的面板中

我在一个名为“panels”的列表中添加了所有面板,它们可以通过“panels[index]”访问

现在我想向每个面板添加一个
MouseOver
MouseLeave
事件。 我认为可以获取panelname(鼠标在上面)并对每个事件使用一种方法,并使用其panelname(panel.Name)标识鼠标在上面的面板,但我在“sender”中找不到任何内容

有办法做到这一点吗

我的代码:

//Method
private void PanelsMouseEnter(object sender, EventArgs e)
{
    var panel = sender as Control;
    foreach (Control control in this.fLpKoerper.Controls)
    {
        if (control.Name == panel.Name)
        {
            foreach (Panel panels in panelsKoerper)
            {
                if (panels.Name == panel.Name)
                    panels.BackColor = Color.DarkGray;
            }
        }
    }  
}

//Event
panelsKoerper[y].MouseEnter += PanelsMouseEnter;

我相信您可以为一个控件生成一个mouseover事件,复制该事件方法名称,然后将其粘贴到另一个控件mouseover事件框中,这样应该可以工作

所以你会有这个活动

private void label1_MouseHover(object sender, EventArgs e)
{
    //Code...
}

然后,您可以将“label1_MouseHover”放在任何控件mouseover事件中

这里的一些示例代码会有所帮助。谢谢。这是我以前的另一个想法,但是由于面板的数量来自dll中的锯齿数组,所以它们是在运行时创建的。
var panel = sender as Control;
var thePanelName = panel.Name;