VB.Net Mouse.Enter 和 Mouse.Leave 都在同一个事件中调用?
Posted
技术标签:
【中文标题】VB.Net Mouse.Enter 和 Mouse.Leave 都在同一个事件中调用?【英文标题】:VB.Net Mouse.Enter and Mouse.Leave both called in same event? 【发布时间】:2012-06-19 07:47:31 【问题描述】:在我的 VB.Net 表单应用程序中,我有一个函数:
Private Sub pnlMain_MouseLeave(sender As Object, e As System.EventArgs) Handles pnlMain.MouseLeave
...
End Sub
还有另一个功能:
Private Sub pnlMain_MouseEnter(sender As Object, e As System.EventArgs) Handles pnlMain.MouseEnter
...
End Sub
当鼠标进入或离开时,两者都被执行 - 首先进入然后离开。为什么会这样?
【问题讨论】:
你在调试应用程序吗? 好吧,正如 John 所指出的,打断点是一种可能。另一种可能性是您的MouseEnter
代码中的某些东西导致了类似的事情 - 但您没有显示该代码。
【参考方案1】:
它没有或它不应该
但是如果你在 enter 事件上有一个断点,那么它会在你点击它时触发 mouseleave 事件。 (因为你触发了 leave 事件)。
【讨论】:
你说得对,我没想到。但是,即使不在调试模式下,它也会发生。它在两个事件中执行代码。 我有一个不这样做的概念证明。 @chiwda 你需要小心。使用日志记录事件发生的时间。因为否则测试报告会触发 leave 事件。例如。如果你调出调试器,显示一个消息框...你将引发 Leave 事件以上是关于VB.Net Mouse.Enter 和 Mouse.Leave 都在同一个事件中调用?的主要内容,如果未能解决你的问题,请参考以下文章