Mausereignisse in Windows Forms

Wenn Sie Mauseingaben behandeln, möchten Sie in der Regel die Position des Mauszeigers und den Zustand der Maustasten kennen. Dieses Thema enthält Details zum Abrufen dieser Informationen von Mausereignissen und erörtert die Reihenfolge, in der Mausklickereignisse in Windows Forms-Steuerelementen ausgelöst werden. Eine Liste und Beschreibungen aller Mausereignisse finden Sie unter Funktionsweise von Mauseingabe in Windows Forms. Siehe auch Übersicht über Ereignishandler (Windows Forms) und Ereignisse (Windows Forms).

Mausinformationen

Ein MouseEventArgs wird an Handler von Mausereignissen gesendet, die beim Drücken einer Maustaste und Verfolgen von Mausbewegungen ausgelöst werden. MouseEventArgs enthält Informationen zum aktuellen Zustand der Maus, z. B. die Position des Mauszeigers in Clientkoordinaten, welche Maustasten gedrückt werden und ob das Mausrad bewegt wurde. Zahlreiche Mausereignisse, beispielsweise Ereignisse, die lediglich darüber informieren, dass der Mauszeiger die Grenzen eines Steuerelements überschritten hat, senden ein EventArgs ohne weitere Informationen an den Ereignishandler.

Wenn Sie den aktuellen Zustand der Maustasten oder die Position des Mauszeigers erfahren möchten, ohne ein Mausereignis zu behandeln, können Sie auch die MouseButtons-Eigenschaft und die MousePosition-Eigenschaft der Control-Klasse verwenden. MouseButtons gibt Informationen darüber zurück, welche Maustasten aktuell gedrückt werden. MousePosition gibt die Bildschirmkoordinaten des Mauszeigers zurück, was dem von Position zurückgegebenen Wert entspricht.

Konvertieren zwischen Bildschirm- und Clientkoordinaten

Da einige Mauspositionsinformationen in Clientkoordinaten und einige in Bildschirmkoordinaten vorhanden sind, müssen Sie möglicherweise einen Punkt aus einem Koordinatensystem in das andere Koordinatensystem konvertieren. Eine einfache Möglichkeit hierzu bieten die PointToClient-Methode und die PointToScreen-Methode der Control-Klasse.

Standardverhalten bei Mausklickereignissen

Wenn Sie Mausklickereignisse in der richtigen Reihenfolge behandeln möchten, müssen Sie die Reihenfolge kennen, in der Mausklickereignisse in Windows Forms-Steuerelementen ausgelöst werden. Wenn eine Maustaste gedrückt und wieder losgelassen wird (unabhängig davon, um welche Maustaste es sich handelt), lösen alle Windows Forms-Steuerelemente Mausklickereignisse in derselben Reihenfolge aus. In der folgenden Liste ist die Reihenfolge der Ereignisse aufgeführt, die bei einem einzelnen Mausklick ausgelöst werden:

  1. MouseDown -Ereignis.

  2. Click -Ereignis.

  3. MouseClick -Ereignis.

  4. MouseUp -Ereignis.

In der folgenden Liste ist die Reihenfolge der Ereignisse aufgeführt, die bei einem Doppelklick mit der Maus ausgelöst werden:

  1. MouseDown -Ereignis.

  2. Click -Ereignis.

  3. MouseClick -Ereignis.

  4. MouseUp -Ereignis.

  5. MouseDown -Ereignis.

  6. DoubleClick -Ereignis. (Dies kann abhängig davon variieren, ob für das betreffende Steuerelement das StandardDoubleClick-Stilbit auf true festgelegt ist. Weitere Informationen zum Festlegen eines ControlStyles-Bits finden Sie unter der SetStyle-Methode.)

  7. MouseDoubleClick -Ereignis.

  8. MouseUp -Ereignis.

Ein Codebeispiel zur Veranschaulichung der Reihenfolge der Mausklickereignisse finden Sie unter Behandeln von Benutzereingabeereignissen in Windows Forms-Steuerelementen.

Einzelne Steuerelemente

Die folgenden Steuerelemente weisen nicht das Standardverhalten bei Mausklickereignissen auf:

Zeichnungsverhalten umschaltbarer Steuerelemente

Umschaltbare Steuerelemente, wie die Steuerelemente, die von der ButtonBase-Klasse abgeleitet werden, weisen bei Mausklickereignissen das folgende Zeichnungsverhalten auf:

  1. Der Benutzer drückt die Maustaste.

  2. Das Steuerelement zeichnet im gedrückten Zustand.

  3. Das MouseDown-Ereignis wird ausgelöst.

  4. Der Benutzer lässt die Maustaste los.

  5. Das Steuerelement zeichnet im erhöhten Zustand.

  6. Das Click-Ereignis wird ausgelöst.

  7. Das MouseClick-Ereignis wird ausgelöst.

  8. Das MouseUp-Ereignis wird ausgelöst.

    Hinweis

    Wenn der Benutzer den Mauszeiger bei gedrückter Maustaste aus dem umschaltbaren Steuerelement bewegt (z. B. wenn er die Maus bei gedrückter Maustaste vom Button-Steuerelement weg bewegt), zeichnet das umschaltbare Steuerelement im erhöhten Zustand, und es tritt nur das MouseUp-Ereignis auf. Das Click-Ereignis oder das MouseClick-Ereignis tritt in dieser Situation nicht auf.

Siehe auch