如何在Winforms C#中使事件冒泡?

时间:2019-06-29 23:32:29

标签: c# winforms mouseevent

我有一个winforms应用程序,其父面板包含PictureBoxLabel

该应用程序在父面板上的鼠标输入上有一个事件,以执行一些隐藏图片框并显示标签的动画。

鼠标离开上还有另一个事件,用于处理隐藏标签并显示图片框的动画。

发生的事情是,当鼠标进入面板时,动画会踢入并执行其操作,但是当鼠标进入标签时,实际上会离开面板,而反向动画会进入。

我的问题是-

  • 当鼠标进入面板的子控件时,如何防止鼠标离开事件?

1 个答案:

答案 0 :(得分:0)

检查鼠标是否仍在面板中

private void Panel1_MouseLeave(object sender, EventArgs e)
{
    if (!(sender as Panel).ClientRectangle.Contains(PointToClient(Control.MousePosition)))
    {
        //do animation
    }
}