我想将MouseOver
和MouseLeave
事件添加到flowLayoutPanel中动态创建的面板。
我在名为“panels”的列表中添加了所有面板,并且可以通过“panels [index]”访问它们。
现在,我想动态地向每个面板添加MouseOver
和MouseLeave
事件。
我认为有可能获得鼠标所在的面板名称,并为每个事件使用一个方法,并使用其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;
答案 0 :(得分:1)
var panel = sender as Control;
var thePanelName = panel.Name;
答案 1 :(得分:0)
我相信您可以为控件生成一个鼠标悬停事件,复制该事件方法名称,然后将其粘贴到另一个控件鼠标悬停事件框中,这应该可以正常工作
所以你会有这个事件
private void label1_MouseHover(object sender, EventArgs e)
{
//Code...
}
然后你可以将'label1_MouseHover'放在任何控件鼠标悬停事件
中