我写了一个UserControl,UserControl里一个Panel,Dock为Fill,然后在里面加了多个Label(可能以后还要加其它控件),,现在我申明了Panel的MouseEnter和MouseLeave事件,但是鼠标移到Label时,就会触发Panel的MouseLeave事件,还有申明了UserControl的Click事件,但鼠标在Label上单击不能触发UserControl的Click事件,求解决的办法,谢谢
调试欢乐多
不如写个MouseEnter和MouseLeave事件但与Label绑定
Rectangle rectActive = new Rectangle(this.Left, this.Top, this.Width, this.Height);
if (!rectActive.Contains(pointMouse))
{
//...真正离开了
}
感觉你的需求有点不妥,看你的描述好像只需要实现Lable就够了。
protected override void OnMouseLeave(EventArgs e)
{ if(this.ClientRectangle.Contains(this.PointToClient(Control.MousePosition)))
return;
else
{
base.OnMouseLeave(e);
}
}http://stackoverflow.com/questions/2576021/mouseenter-and-mouseleave-events-from-a-panel-and-its-child-controls