环境:VS2005 C# WinForm控件的MouseHover事件存在以下缺点:
1 不能控制触发时间
2 必需是鼠标由控件外移至控件内时才能触发所以我想自己来触发MouseHover事件。以前有网友说可以在MouseMove中实现。可这MouseMove是鼠标移动消息,而MouseHover是鼠标停止一段时间时才会触发。这两者怎么联系起来呢?我现在想到的办法是:设置一个定时器,定时器间隔就是触发时间,定时器函数中记录鼠标位置,如果本次位置和上次记录的位置相同,说明鼠标已经在该位置停留了特点时间。于是就可以触发一个MouseHover事件了。在MouseEnter中启动定时器,MouseLeave中停止定时器。我觉得定时器办法效率上不是很高,大家有更高效的办法吗?