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 都在同一个事件中调用?的主要内容,如果未能解决你的问题,请参考以下文章

VB.Net和C#.Net有啥差异?优缺点是啥?

VB.net 和C#.net 各有啥优缺点

C# 和 VB.NET 的优缺点?

VB.NET和C++之间的区别

vb.net 有没有++(增1)和--(减1)运算符?

vbscript 和 vb.net 有啥区别?