为什么MouseEnter和MouseLeave不可靠?

时间:2014-10-29 18:59:50

标签: c# winforms events

根据this问题,answer"The MouseEnter/Leave events are too unreliable to do this."开头是什么让这些事件不可靠?

2 个答案:

答案 0 :(得分:4)

只会经常轮询鼠标位置。很有可能其中一个事件 - 鼠标进入或离开,可能发生在民意调查发生之间,而且事件无法正确触发。

这也是一个非常具体的假设,即鼠标移动是连续的,而不是离散的 - 如果用户有触摸屏监视器怎么办?如果鼠标直接从控件内部移动到外面,并且两者之间没有移动,该怎么办?

答案 1 :(得分:2)

你完全错过了这一点。对于 OP问题,这些事件不可靠,而不是一般情况。
问题是看cursor是否在表单client area中。有许多控件MouseEnter/Leave是不可靠的,因为即使你在表单的区域内,你也会得到这些事件。