private void panelControl1_MouseEnter(object sender, EventArgs e)
{
button2.Show();
}
private void panelControl1_MouseLeave(object sender, EventArgs e)
{
button2.Hide();
}
当我进入面板时,按钮显示但单击按钮不起作用。以上是图片和代码。
答案 0 :(得分:0)
当鼠标进入控件的“可见”部分时发生MouseEnter,当鼠标离开控件的“可见”部分时发生MouseLeave。在按钮上面不是panelControl的可见部分。
答案 1 :(得分:0)
此问题有解决方法。您可以创建自己的CustomPanel
课程。
添加此课程后,您可以将{strong> Designer.cs 中的Panel
替换为CustomPanel
。
namespace System.Windows.Forms
{
public class CustomPanel : Panel
{
protected override void OnMouseLeave(EventArgs e)
{
if (this.ClientRectangle.Contains(this.PointToClient(Control.MousePosition)))
return;
else
{
base.OnMouseLeave(e);
}
}
}
}
每当用户悬停任何面板子控件时, CustomPanel
类限制MouseLeave
事件的无效触发。