我有一个面板,有3个按钮相邻。按钮的大小与面板的大小相同。如何激活Panel1_MouseLeave事件,因为按钮会占用所有面板?
答案 0 :(得分:0)
当您将鼠标悬停在按钮上时,Panel1_MouseLeave将被触发。您可以使用button_MouseLeave和Panel1_MouseLeave的组合来确定鼠标何时实际离开控件。
或者如上所述,使按钮比面板小1px。当MouseLeave()被触发时,检查鼠标位置。如果它在面板的边界,你还没有离开。如果超出界限,那么你就离开了。
答案 1 :(得分:0)
在表单中添加一个计时器并检查鼠标位置:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If Panel1.ClientRectangle.Contains(Panel1.PointToClient(MousePosition)) Then
If Not insidePanel Then
insidePanel = True
// do something...
End If
Else
If insidePanel Then
insidePanel = False
// do something
End If
End If
End Sub