我有一个小视频应用程序,我想提供类似vlc的功能。通过这个,我的意思是有一个元素消失,并出现在鼠标移动或鼠标不移动。我有一个如何做到这一点的粗略概念,但我不知道我如何检测鼠标是否移动。我想过使用GetPosition函数,但这只会给我鼠标的位置,并且不会让我知道光标是否移动。我想在鼠标停止移动后使用计时器倒计时2-3秒,然后淡出控件或者让它崩溃而不再赘述。我无法每毫秒检查位置变量的值。还有其他方法可以做到这一点吗?
答案 0 :(得分:3)
您可以使用挂钩功能,以便在鼠标移动时通知,我使用this免费的开源库。
如何使用它:
using Gma.UserActivityMonitor.GlobalEventProvider;
GlobalEventProvider _globalEventProvider1
= new Gma.UserActivityMonitor.GlobalEventProvider();
this.globalEventProvider1.MouseMove += HookMouseMove;//to listen to mouse move
答案 1 :(得分:0)
捕获鼠标。如果用户实际点击其他任何位置,则释放捕获。然后,您可以使用标准的WPF鼠标移动事件。
myElement.MouseMove += (my MouseMove handler)
Mouse.Capture(myElement);