我有一个带有 2 个按钮的用户控件,只有当鼠标在控件区域内时才应该可见。
我正在显示这样的按钮:
private void Node_MouseEnter(object sender, EventArgs e)
{
btn1.Show();
btn2.Show();
}
并像这样隐藏:
protected override void OnMouseLeave(EventArgs e)
{
if (this.ClientRectangle.Contains(this.PointToClient(Control.MousePosition)))
return;
else base.OnMouseLeave(e);
}
private void Node_MouseLeave(object sender, EventArgs e)
{
btn1.Hide();
btn2.Hide();
}
问题是有时(随机情况)MouseLeave
事件不会被触发,并且按钮保持可见,即使鼠标在控件之外。
是否有可能多个事件发生冲突?