簡體   English   中英

如何在WPF / C#中檢測鼠標是否在我的窗口范圍內移動?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM