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;