Freigeben über


Mausereignisse in Windows Forms

Wenn Sie Mauseingaben behandeln, sollten Sie in der Regel die Position des Mauszeigers und den Zustand der Maustasten kennen. Dieses Thema enthält Details zum Abrufen dieser Informationen aus Mausereignissen und erläutert die Reihenfolge, in der Mausklickereignisse in Windows Forms-Steuerelementen ausgelöst werden. Eine Liste und Beschreibung aller Mausereignisse finden Sie unter Wie Mauseingaben in Windows Forms funktionieren. Weitere Informationen finden Sie unter Übersicht über Ereignishandler (Windows Forms) und Übersicht über Ereignisse (Windows Forms).

Mausinformationen

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

Wenn Sie den aktuellen Zustand der Maustasten oder die Position des Mauszeigers kennen möchten und sie die Behandlung eines Mausereignisses vermeiden möchten, können Sie auch die eigenschaften MouseButtons und MousePosition der Control Klasse verwenden. MouseButtons gibt Informationen dazu zurück, welche Maustasten aktuell gedrückt werden. Die MousePosition gibt die Bildschirmkoordinaten des Mauszeigers zurück und entspricht dem von Positionzurückgegebenen Wert.

Konvertieren zwischen Bildschirm- und Clientkoordinaten

Da sich einige Mauspositionsinformationen in Clientkoordinaten befinden und sich einige in Bildschirmkoordinaten befinden, müssen Sie möglicherweise einen Punkt von einem Koordinatensystem in den anderen konvertieren. Sie können dies ganz einfach tun, indem Sie die in der Control Klasse verfügbaren PointToClient- und PointToScreen Methoden verwenden.

Standardverhalten bei Mausklickereignissen

Wenn Sie Mausklickereignisse in der richtigen Reihenfolge behandeln möchten, müssen Sie die Reihenfolge kennen, in der Klickereignisse in Windows Forms-Steuerelementen ausgelöst werden. Alle Windows Forms-Steuerelemente lösen Klickereignisse in der gleichen Reihenfolge aus, wenn eine Maustaste gedrückt und losgelassen wird (unabhängig davon, welche Maustaste es ist), mit Ausnahme der in der folgenden Liste für einzelne Steuerelemente genannten. 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, das die Reihenfolge der Mausklickereignisse veranschaulicht, finden Sie unter How to: Handle User Input Events in Windows Forms Controls.

Einzelne Steuerelemente

Die folgenden Steuerelemente entsprechen nicht dem standardmäßigen Verhalten des Mausklickereignisses:

Zeichnungsverhalten von Umschaltsteuerelementen

Umschaltsteuerelemente, 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 gibt 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.

    Anmerkung

    Wenn der Mauszeiger bei gedrückter Maustaste vom Umschaltsteuerelement weg bewegt wird (z. B. wenn er die Maus bei gedrückter Maustaste vom Button-Steuerelement weg bewegt), zeichnet das Umschaltsteuerelement im erhöhten Zustand, und es tritt nur das MouseUp-Ereignis auf. Die ereignisse Click oder MouseClick treten in dieser Situation nicht auf.

Weitere Informationen