Funktionsweise von Mauseingaben in Windows Forms

Das Empfangen und Behandeln von Mauseingaben ist ein wichtiger Bestandteil jeder Windows-Anwendung. Sie können Mausereignisse behandeln, um eine Aktion in der Anwendung auszuführen, oder mithilfe von Mauspositionsdaten Hit-Testing oder andere Aktionen ausführen. Außerdem können Sie die Art und Weise ändern, wie die Steuerelemente in der Anwendung Mauseingaben behandeln. In diesem Thema werden diese Mausereignisse im Einzelnen beschrieben. Außerdem wird erläutert, wie Systemeinstellungen für die Maus abgerufen und geändert werden. Weitere Informationen über die mit den Mausereignissen bereitgestellten Daten und die Reihenfolge, in der die Mausklickereignisse ausgelöst werden, finden Sie unter Mausereignisse in Windows Forms.

Mausposition und Hit-Testing

Wenn der Benutzer die Maus bewegt, bewegt das Betriebssystem den Mauszeiger. Der Mauszeiger enthält ein einzelnes Pixel, den so genannten Hotspot, den das Betriebssystem verfolgt und als Position des Zeigers erkennt. Wenn der Benutzer die Maus bewegt oder eine Maustaste drückt, löst das Control, das HotSpot enthält, ein entsprechendes Mausereignis aus. Sie können die aktuelle Mausposition mit der Location-Eigenschaft des MouseEventArgs abrufen, wenn Sie ein Mausereignis behandeln, oder über die Position-Eigenschaft des Cursor. Anschließend können Sie mithilfe der Mauspositionsinformationen Hit-Testing ausführen und dann eine Aktion, die auf der Position der Maus basiert. Die Hit-Testing-Funktion ist in zahlreiche Steuerelemente in Windows Forms integriert, beispielsweise in die Steuerelemente ListView, TreeView, MonthCalendar und DataGridView. In Verbindung mit einem entsprechenden Mausereignis, beispielsweise MouseHover, eignet sich Hit-Testing, um zu bestimmen, wann die Anwendung eine bestimmte Aktion ausführen soll.

Mausereignisse

Eine Möglichkeit der Reaktion auf Mauseingaben besteht in erster Linie darin, Mausereignisse zu behandeln. In der folgenden Tabelle werden die Mausereignisse angezeigt, und es wird beschrieben, wann sie ausgelöst werden.

Mausereignis

Beschreibung

Click

Dieses Ereignis tritt auf, wenn die Maustaste losgelassen wird, normalerweise vor dem MouseUp-Ereignis. Der Handler für dieses Ereignis empfängt ein Argument des Typs EventArgs. Behandeln Sie dieses Ereignis, wenn Sie nur feststellen müssen, wann ein Klick erfolgt.

MouseClick

Dieses Ereignis tritt auf, wenn der Benutzer mit der Maus auf das Steuerelement klickt. Der Handler für dieses Ereignis empfängt ein Argument des Typs MouseEventArgs. Behandeln Sie dieses Ereignis, wenn Sie Informationen über die Maus abrufen müssen, wenn ein Klick erfolgt.

DoubleClick

Dieses Ereignis tritt auf, wenn auf das Steuerelement doppelt geklickt wird. Der Handler für dieses Ereignis empfängt ein Argument des Typs EventArgs. Behandeln Sie dieses Ereignis, wenn Sie nur feststellen müssen, wann ein Doppelklick erfolgt.

MouseDoubleClick

Dieses Ereignis tritt auf, wenn der Benutzer mit der Maus auf das Steuerelement doppelklickt. Der Handler für dieses Ereignis empfängt ein Argument des Typs MouseEventArgs. Behandeln Sie dieses Ereignis, wenn Sie Informationen über die Maus abrufen müssen, wenn ein Doppelklick erfolgt.

MouseDown

Dieses Ereignis tritt auf, wenn sich der Mauszeiger über dem Steuerelement befindet und der Benutzer eine Maustaste drückt. Der Handler für dieses Ereignis empfängt ein Argument des Typs MouseEventArgs.

MouseEnter

Dieses Ereignis tritt auf, wenn der Mauszeiger den Rand oder den Innenbereich des Steuerelements berührt, je nach Art des Steuerelements. Der Handler für dieses Ereignis empfängt ein Argument des Typs EventArgs.

MouseHover

Dieses Ereignis tritt auf, wenn der Mauszeiger über dem Steuerelement ruht. Der Handler für dieses Ereignis empfängt ein Argument des Typs EventArgs.

MouseLeave

Dieses Ereignis tritt auf, wenn der Mauszeiger den Rand oder den Innenbereich des Steuerelements verlässt, je nach Art des Steuerelements. Der Handler für dieses Ereignis empfängt ein Argument des Typs EventArgs.

MouseMove

Dieses Ereignis tritt auf, wenn der Mauszeiger bewegt wird, während er sich über einem Steuerelement befindet. Der Handler für dieses Ereignis empfängt ein Argument des Typs MouseEventArgs.

MouseUp

Dieses Ereignis tritt auf, wenn sich der Mauszeiger über dem Steuerelement befindet und der Benutzer eine Maustaste loslässt. Der Handler für dieses Ereignis empfängt ein Argument des Typs MouseEventArgs.

MouseWheel

Dieses Ereignis tritt auf, wenn der Benutzer das Mausrad dreht, während das Steuerelement im Fokus ist. Der Handler für dieses Ereignis empfängt ein Argument des Typs MouseEventArgs. Sie können mithilfe der Delta-Eigenschaft von MouseEventArgs bestimmen, wie weit die Maus einen Bildlauf durchgeführt hat.

Ändern von Mauseingabe und Erkennen von Systemeinstellungen

Sie können die Art, wie ein Steuerelement die Mauseingabe behandelt, erkennen und ändern, indem Sie von dem Steuerelement ableiten sowie die GetStyle-Methode und die SetStyle-Methode verwenden. Die SetStyle-Methode bestimmt anhand einer bitweisen Kombination von ControlStyles-Werten, ob das Steuerelement Standard- oder Doppelklickverhalten aufweist oder ob es seine eigene Mausverarbeitung behandelt. Darüber hinaus umfasst die SystemInformation-Klasse Eigenschaften, die die Funktionen der Maus beschreiben und die festlegen, wie die Maus mit dem Betriebssystem interagiert. In der folgenden Tabelle werden diese Eigenschaften zusammengefasst.

Eigenschaft

Beschreibung

DoubleClickSize

Ruft die Abmessungen des Bereichs in Pixel ab, in den der Benutzer zweimal klicken muss, damit das Betriebssystem die beiden Klicks als einen Doppelklick interpretiert.

DoubleClickTime

Ruft die maximale Anzahl an Millisekunden ab, die zwischen einem ersten und einem zweiten Klick verstreichen können, damit das Betriebssystem die Mausaktion als Doppelklick interpretiert.

MouseButtons

Ruft die Anzahl der Maustasten ab.

MouseButtonsSwapped

Ruft einen Wert ab, der angibt, ob die Funktionen der linken und der rechten Maustaste vertauscht wurden.

MouseHoverSize

Ruft die Abmessungen des Rechtecks in Pixel ab, auf das der Mauszeiger für eine bestimmte Zeit zeigen muss, bevor eine Mausbewegungsmeldung generiert wird.

MouseHoverTime

Ruft die Zeit in Millisekunden ab, für die sich der Mauszeiger im Bewegungsrechteck befinden muss, bevor eine Mausbewegungsmeldung generiert wird.

MousePresent

Ruft einen Wert ab, der angibt, ob eine Maus installiert ist.

MouseSpeed

Ruft einen Wert ab, der die aktuelle Mausgeschwindigkeit angibt (zwischen 1 und 20).

MouseWheelPresent

Ruft einen Wert ab, der angibt, ob eine Maus mit einem Mausrad installiert ist.

MouseWheelScrollDelta

Ruft die Höhe des Deltawerts der Erhöhung einer einzelnen Mausraddrehung ab.

MouseWheelScrollLines

Ruft die Anzahl der Zeilen ab, die mit einem Bildlauf erfasst werden, wenn das Mausrad gedreht wird.

Siehe auch

Konzepte

Mauserfassung in Windows Forms

Mauszeiger in Windows Forms

Weitere Ressourcen

Mauseingabe in einer Windows Forms-Anwendung