Freigeben über


Verwenden von Mausereignissen

Die meisten Windows Forms-Programme verarbeiten Mauseingaben, indem sie Mausereignisse behandeln. Dieser Artikel enthält eine Übersicht über die Mausereignisse, einschließlich Details zur Verwendung der einzelnen Ereignisse und der daten, die für jedes Ereignis bereitgestellt werden. Weitere Informationen zu Ereignissen im Allgemeinen finden Sie unter "Übersicht über Ereignisse".

Mausereignisse

Die primäre Möglichkeit, auf Mauseingaben zu reagieren, besteht darin, Mausereignisse zu behandeln. Die folgende Tabelle zeigt die Mausereignisse und beschreibt, wann sie ausgelöst werden.

Mausereignis BESCHREIBUNG
Click Dieses Ereignis tritt auf, wenn die Maustaste losgelassen wird, in der Regel vor dem MouseUp Ereignis. Der Handler für dieses Ereignis empfängt ein Argument vom Typ EventArgs. Behandeln Sie dieses Ereignis, wenn Sie nur bestimmen müssen, wann ein Klick auftritt.
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 vom Typ MouseEventArgs. Behandeln Sie dieses Ereignis, wenn Sie Informationen zur Maus abrufen müssen, wenn ein Klick erfolgt.
DoubleClick Dieses Ereignis tritt auf, wenn auf das Steuerelement doppelklicken wird. Der Handler für dieses Ereignis empfängt ein Argument vom Typ EventArgs. Behandeln Sie dieses Ereignis, wenn Sie nur herausfinden müssen, wann ein Doppelklick auftritt.
MouseDoubleClick Dieses Ereignis tritt auf, wenn der Benutzer mit der Maus auf das Steuerelement doppelklicken. Der Handler für dieses Ereignis empfängt ein Argument vom Typ MouseEventArgs. Behandeln Sie dieses Ereignis, wenn Sie Informationen zur Maus abrufen müssen, wenn ein Doppelklick auftritt.
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 vom Typ MouseEventArgs.
MouseEnter Dieses Ereignis tritt auf, wenn der Mauszeiger in den Rahmen oder den Clientbereich des Steuerelements eintritt, abhängig vom Typ des Steuerelements. Der Handler für dieses Ereignis empfängt ein Argument vom Typ EventArgs.
MouseHover Dieses Ereignis tritt auf, wenn der Mauszeiger anhält und sich über dem Steuerelement befindet. Der Handler für dieses Ereignis empfängt ein Argument vom Typ EventArgs.
MouseLeave Dieses Ereignis tritt auf, wenn der Mauszeiger abhängig vom Typ des Steuerelements den Rahmen oder den Clientbereich des Steuerelements verlässt. Der Handler für dieses Ereignis empfängt ein Argument vom Typ EventArgs.
MouseMove Dieses Ereignis tritt auf, wenn der Mauszeiger bewegt wird, während er sich über ein Steuerelement befindet. Der Handler für dieses Ereignis empfängt ein Argument vom Typ 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 vom Typ MouseEventArgs.
MouseWheel Dieses Ereignis tritt auf, wenn der Benutzer das Mausrad dreht, während das Steuerelement den Fokus hat. Der Handler für dieses Ereignis empfängt ein Argument vom Typ MouseEventArgs. Verwenden Sie die MouseEventArgs.Delta Eigenschaft, um zu bestimmen, wie weit die Maus gescrollt wurde.

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. Mehrere Mausereignisse, zum Beispiel jene, die ausgelöst werden, wenn der Mauszeiger die Begrenzungen eines Steuerelements betritt oder verlässt, senden ein EventArgs an den Ereignishandler, ohne weitere Informationen.

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 PointToClient Klasse verfügbaren PointToScreen- und Control Methoden verwenden.

Standardverhalten von Klick-Ereignissen

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 unterstützte Maustaste gedrückt und losgelassen wird, außer wenn in der folgenden Liste für einzelne Steuerelemente angegeben. 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 variieren, je nachdem, ob das betreffende Steuerelement das Stilbit StandardDoubleClick auf true festgelegt hat. Weitere Informationen zum Festlegen eines ControlStyles Bits finden Sie in der SetStyle Methode.

  7. MouseDoubleClick-Ereignis.

  8. MouseUp-Ereignis.

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.

    Hinweis

    Wenn der Benutzer den Mauszeiger aus dem Umschaltsteuerelement herausbewegt, während die Maustaste gedrückt gehalten wird (z. B. das Bewegen der Maus vom Button-Steuerelement, während die Taste gedrückt gehalten wird), wird das Umschaltsteuerelement im erhöhten Zustand angezeigt, und nur das MouseUp-Ereignis wird ausgelöst. Ereignisse Click oder MouseClick treten in dieser Situation nicht auf.

Siehe auch