This question already has answers here:
Winform - determine if mouse has left user control
(4个答案)
7年前关闭。
我有2个面板(
我的代码:
当我的鼠标进入
这是不合逻辑的,因为我的鼠标仍位于
出于事件目的,如何将
(4个答案)
7年前关闭。
我有2个面板(
Panel1
和Panel2
),其中Panel2
放在Panel1
内部我的代码:
Private Sub Panel1_MouseLeave(sender As Object, e As EventArgs) Handles Panel1.MouseLeave
MsgBox("Leave")
End Sub
当我的鼠标进入
MsgBox
时,会弹出Panel2
。这是不合逻辑的,因为我的鼠标仍位于
Panel1
区域中。出于事件目的,如何将
Panel2
视为与Panel1
相同的区域? 最佳答案
考虑下图,
假设上面的图片代表着两个混凝土板(Two panels
)放在彼此之上(浅灰色:panel1
,深灰色:panel2
)。
您是被要求站在浅灰色平板中位置1的人(Cursor
),您会做什么,
首先,您将进入浅灰色平板。[panel1.mouseEnter event got fired
],最后到达正位置1。同样,您再次要求在深灰色平板中站到位置2,
这次您将执行的操作是,先离开浅灰色平板[panel1.mouseLeave event got fired
],然后进入深灰色平板[panel2.mouseEnter event got fired
]。
你注意到了吗。?您已离开浅灰色平板以进入深灰色平板。
同样,在form
内部,尤其是在controls
堆栈上,一个控件的Mouse Enter
应该是前一个控件的Mouse Leave
。
关于.net - 两个面板的MouseLeave事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15368985/
10-11 01:53