Freigeben über


Verwalten von Mauszeigern

Der Mauszeiger , der manchmal als Cursor bezeichnet wird, ist eine Bitmap, die einen Fokuspunkt auf dem Bildschirm für Benutzereingaben mit der Maus angibt. Dieser Artikel enthält eine Übersicht über den Mauszeiger in Windows Forms und beschreibt einige Möglichkeiten zum Ändern und Steuern des Mauszeigers.

Zugreifen auf den Mauszeiger

Der Mauszeiger wird durch die klasse Cursor dargestellt, und jede Control verfügt über eine Control.Cursor-Eigenschaft, die den Zeiger für dieses Steuerelement angibt. Die Cursor-Klasse enthält Eigenschaften, die den Zeiger beschreiben, z. B. die Eigenschaften Position und HotSpot sowie Methoden, mit denen die Darstellung des Zeigers geändert werden kann, z. B. die Show, Hideund DrawStretched Methoden.

Im folgenden Beispiel wird der Cursor ausgeblendet, wenn sich der Cursor über einer Schaltfläche befindet:

private void button1_MouseEnter(object sender, EventArgs e) =>
    Cursor.Hide();

private void button1_MouseLeave(object sender, EventArgs e) =>
    Cursor.Show();
Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
    Cursor.Hide()
End Sub

Private Sub Button1_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
    Cursor.Show()
End Sub

Steuern des Mauszeigers

Manchmal möchten Sie die Position der Maus ändern oder den Mauszeiger auf einen bestimmten Bereich beschränken. Mit der Cursor.Position Eigenschaft können Sie die aktuelle Position der Maus abrufen oder festlegen. Außerdem können Sie den für den Mauszeiger verfügbaren Bereich einschränken, indem Sie die Clip Eigenschaft festlegen. Der Standardbereich, der eingeschränkt werden kann, ist die gesamte Anzeige.

Im folgenden Beispiel wird der Mauszeiger zwischen zwei Schaltflächen positioniert, wenn darauf geklickt wird:

private void button1_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button2.Location);

private void button2_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button1.Location);
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    PointToScreen(Button2.Location)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    PointToScreen(Button1.Location)
End Sub

Ändern des Mauszeigers

Das Ändern des Mauszeigers ist eine wichtige Möglichkeit, dem Benutzer Feedback zu geben. Beispielsweise kann der Mauszeiger in den Handlern der Ereignisse MouseEnter und MouseLeave geändert werden, um dem Benutzer mitzuteilen, dass Berechnungen durchgeführt werden und um die Benutzerinteraktion im Steuerelement einzuschränken. Manchmal ändert sich der Mauszeiger aufgrund von Systemereignissen, z. B. wenn Ihre Anwendung an einem Drag-and-Drop-Vorgang beteiligt ist.

Die Hauptmöglichkeit, den Mauszeiger zu ändern, besteht darin, die Eigenschaft Control.Cursor oder DefaultCursor eines Steuerelements auf eine neue Cursor-Klasse festzulegen. Beispiele zum Ändern des Mauszeigers finden Sie im Codebeispiel in der klasse Cursor. Darüber hinaus macht die Cursors-Klasse eine Reihe von Cursor Objekten für viele verschiedene Arten von Zeigern verfügbar, z. B. einen Zeiger, der einer Hand ähnelt.

Im folgenden Beispiel wird der Cursor des Mauszeigers für eine Schaltfläche in eine Hand geändert:

button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand

Um den Wartezeiger anzuzeigen, der einer Sanduhr ähnelt, wenn sich der Mauszeiger auf dem Steuerelement befindet, verwenden Sie die UseWaitCursor-Eigenschaft der Control Klasse.

Siehe auch