【发布时间】:2011-11-03 19:49:07
【问题描述】:
我想将 MouseOver 和 MouseLeave 事件添加到 flowLayoutPanel 中动态创建的面板。
我将所有面板添加到名为“panels”的列表中,并且可以通过“panels[index]”访问它们。
现在我想为每个面板动态添加一个MouseOver 和MouseLeave 事件。
我认为可以获取鼠标结束的面板名称,并为每个事件仅使用一种方法,并使用其面板名称(panel.Name)识别鼠标所在的面板,但我在“发件人”中一无所获。
有没有办法做到这一点?
我的代码:
//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;
【问题讨论】:
-
一些示例代码在这里会有所帮助。
标签: c# winforms mouseevent mouseenter