[英]How can i detect if the mouse is moving both within and out of the bounds of my window in WPF/C#?
我有一個小視頻應用程序,我想提供類似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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.