Mausereignisse in Windows Forms

Wenn Sie Mauseingaben behandeln, müssen Sie für gewöhnlich die Position des Mauszeigers und den Zustand der Maustasten kennen. In diesem Thema wird erläutert, wie Sie diese Informationen von Mausereignissen abrufen und in welcher Reihenfolge Mausklickereignisse in Windows Forms-Steuerelementen ausgelöst werden. Eine Liste und Beschreibung aller Mausereignisse finden Sie unter Funktionsweise von Mauseingaben in Windows Forms. Weitere Informationen finden Sie unter Übersicht über Ereignisse (Windows Forms) und Übersicht über Ereignishandler (Windows Forms) und Übersicht über Ereignishandler (Windows Forms) und Übersicht über Ereignisse (Windows Forms) und Übersicht über Ereignishandler (Windows Forms) und Übersicht über Ereignisse (Windows Forms) und Übersicht über Ereignishandler (Windows Forms) und Übersicht über 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 stellt Informationen darüber bereit, wie der aktuelle Zustand der Maus ist, z. B. die Position des Mauszeigers in Clientkoordinaten, welche Maustasten gedrückt werden und ob das Mausrad bewegt wurde. Zahlreiche Mausereignisse, wie diejenigen, die lediglich darüber benachrichtigen, 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 wissen 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 derzeit 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 vorliegen, müssen Sie ggf. einen Punkt aus einem Koordinatensystem in ein anderes 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 wissen, in welcher Reihenfolge 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. Ausnahmen für bestimmte Steuerelemente werden in der folgenden Liste angegeben. In dieser Liste werden die Ereignisse in der Reihenfolge genannt, in der sie bei einem Mausklick ausgelöst werden:

  1. MouseDown-Ereignis.

  2. Click-Ereignis.

  3. MouseClick-Ereignis.

  4. MouseUp-Ereignis.

Im Folgenden werden die Ereignisse in der Reihenfolge genannt, in der sie bei einem Doppelklick mit der Maustaste ausgelöst werden:

  1. MouseDown-Ereignis.

  2. Click-Ereignis.

  3. MouseClick-Ereignis.

  4. MouseUp-Ereignis.

  5. MouseDown-Ereignis.

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

  7. MouseDoubleClick-Ereignis.

  8. MouseUp-Ereignis.

Ein Codebeispiel, das die Reihenfolge der Mausklickereignisse zeigt, finden Sie unter Gewusst wie: Behandeln von Benutzereingabeereignissen in Windows Forms-Steuerelementen.

Einzelne Steuerelemente

Folgende Steuerelemente folgen nicht dem Standardverhalten bei Mausklickereignissen:

Zeichnungsverhalten umschaltbarer Steuerelemente

Umschaltbare Steuerelemente, wie die Steuerelemente, die sich von der ButtonBase-Klasse ableiten, weisen bei Mausklickereignissen folgendes Zeichnungsverhalten auf:

  1. Der Benutzer drückt die Maustaste.

  2. Das Steuerelement wird im gedrückten Zustand gezeichnet.

  3. Das MouseDown-Ereignis wird ausgelöst.

  4. Der Benutzer lässt die Maustaste los.

  5. Das Steuerelement wird im erhöhten Zustand gezeichnet.

  6. Das Click-Ereignis wird ausgelöst.

  7. Das MouseClick-Ereignis wird ausgelöst.

  8. Das MouseUp-Ereignis wird ausgelöst.

    Tipp

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

Siehe auch

Weitere Ressourcen

Mauseingabe in einer Windows Forms-Anwendung