Angenommen, Sie befinden sich in Windows Forms:
Mouse Enter tritt auf:
Tritt auf, wenn der Mauszeiger in das Steuerelement eintritt.
( MSDN )
Mauszeiger:
Tritt auf, wenn der Mauszeiger auf dem Steuerelement ruht.
Eine typische Verwendung von MouseHover besteht darin, eine QuickInfo anzuzeigen, wenn die Maus gedrückt wird Pausiert auf einem Steuerelement in einem bestimmten Bereich um das Steuerelement herum (der "Hover-Rechteck"). Die für dieses Ereignis erforderliche Pause ist angegeben in Millisekunden von der MouseHoverTime-Eigenschaft.
( MSDN )
Um MouseHoverTime global festzulegen ( nicht empfohlen , siehe @ IronMan84-Link hier für eine bessere Lösung), können Sie die Funktion SystemParametersInfo
verwenden. Da dies ein Win32-API-Aufruf ist, benötigen Sie PInvoke:
Wird aufgerufen als:
%Vor%Sigantures von PInvoke.NET: SystemParametersInfo , SPIF (Enum) , SPI (Enum)
Ich habe die Enum
Signaturen hier nicht eingefügt, weil sie so verdammt lang sind. Verwenden Sie einfach die auf PInvoke.Net (oben verlinkt)
Weitere Informationen zum Aufruf der SystemParametersInfo-API und deren Parametern finden Sie unter MSDN .
MouseEnter ist wenn deine Maus gerade in den Bereich geht.
MouseHover Dies ist der Fall, wenn Ihre Maus ein wenig dort bleibt (normalerweise für Tooltips verwendet).
Soweit Mausereignisse gehen, tritt das MouseEnter
-Ereignis vor allen anderen auf. Außerdem können Sie manuell festlegen, wie lange die Maus über dem Bereich verweilen muss, bevor das Ereignis MouseHover
ausgelöst wird. Sie können mehr dazu lesen hier .
EDIT: Ich habe den Link bei der Anpassung von MouseHoverTime geändert. Es stellt sich heraus, dass Sie es nicht leicht machen können, und dass es sehr zu empfehlen ist, dies nicht zu tun, da es sich um einen Systemwert handelt, der alle Anwendungen auf dem Computer betrifft. Stattdessen zeigt der neue Link, wie Sie eine neue anwendungsspezifische Variable manuell dazu verwenden können.
Tags und Links c#