我有一个小型视频应用程序,希望能够实现类似VLC的功能。也就是说,在鼠标移动或不移动时,让某个元素消失和出现。我大致了解如何做到这一点,但我不知道如何检测鼠标是否正在移动。我考虑使用GetPosition函数,但那只会给我鼠标的位置,而不能告诉我光标是否在移动。我想使用定时器,在鼠标停止移动后倒计时2-3秒,然后淡出控件或仅使其折叠而无需进一步操作。我无法每毫秒检查位置变量的值。还有其他方法吗?
using Gma.UserActivityMonitor.GlobalEventProvider;
GlobalEventProvider _globalEventProvider1
= new Gma.UserActivityMonitor.GlobalEventProvider();
this.globalEventProvider1.MouseMove += HookMouseMove;//to listen to mouse move
捕获鼠标。如果用户在其他地方实际点击,则释放捕获。然后,您可以使用标准的WPF鼠标移动事件。
myElement.MouseMove += (my MouseMove handler)
Mouse.Capture(myElement);
MediaElement
等,PreviewMouseMove
仍然会到达Window
。或者还有其他情况我没有考虑到吗? - Fredrik HedbladWindow
的MouseEnter
/MouseLeave
事件。 - Fredrik Hedblad
WH_MOUSE_LL
的那一行改为WH_MOUSE
,将使用WH_KEYBOARD_LL
的那一行改为WH_KEYBOARD
。我记得这只是库中的几行代码。 - Jalal Said