Mausposition mit C# abrufen

Naila Saad Siddiqui 15 Februar 2024
  1. Windows Form-Anwendung
  2. Erhalten Sie die Mausposition auf dem Bildschirm mit C#
Mausposition mit C# abrufen

In diesem kurzen Programmiertutorial geht es darum, eine Mausposition in C#-Windows-Form-Anwendungen zu erhalten.

Windows Form-Anwendung

Eine Anwendung, die speziell für die Ausführung auf einem Computer erstellt wurde, ist die Windows Form-Anwendung. Es funktioniert nicht in einem Webbrowser, da es sich um eine Desktop-basierte Anwendung handelt.

Eine Windows Form-Anwendung kann zahlreiche Steuerelemente enthalten. Es kann aus miteinander verbundenen Bildschirmen bestehen, die verschiedene Steuerelemente wie Schaltflächen, Textfelder, Beschriftungen usw. enthalten.

Erhalten Sie die Mausposition auf dem Bildschirm mit C#

Manchmal, in Szenarien, in denen Interaktivität die höchste Priorität hat, müssen wir oft die aktuelle Position des Mauszeigers abrufen. Unser Bildschirm wird in x- und y-Koordinaten gemessen, sodass wir die Mausposition erhalten können, indem wir die x-Koordinate und die y-Koordinate der Mauszeigerposition erhalten.

In C# können wir die Klasse Cursor verwenden, um die Position des Mauszeigers zu erhalten. Dadurch wird die aktuelle Position des Mauszeigers im Vergleich zum gesamten Bildschirm zurückgegeben.

Wenn wir die für dieses aktuelle Fenster spezifische Position benötigen, können wir die Funktion ScreenToClient() aufrufen. Diese Funktion übernimmt ein Point-Objekt, das die x- und y-Koordinaten enthält, und gibt ein Point-Objekt in Bezug auf den aktuellen Fensterbildschirm zurück.

Erstellen Sie zunächst eine neue Windows Form-Anwendung in Visual Studio.

In dieser Anwendung wird standardmäßig Form1.cs erstellt. Erstellen Sie in dieser Datei zwei Textfelder wie folgt:

C# Mausposition abrufen - Schritt 1

In der entsprechenden cs-Datei, also Form1.cs, können wir den Code zum Abrufen der Mausposition wie folgt schreiben:

Point p = PointToClient(Cursor.Position);
textBox1.Text = p.X.ToString();
textBox2.Text = p.Y.ToString();

Diese Funktion setzt den Wert basierend auf der Zeigerposition, wenn die Funktion aufgerufen wird. Wenn wir später den Mauszeiger bewegen, ändert er seinen Wert nicht.

Dazu können wir diesen Code in einen onMouseMove-Event-Handler schreiben.

protected override void OnMouseMove(MouseEventArgs e) {
  Point p = PointToClient(Cursor.Position);
  textBox1.Text = p.X.ToString();
  textBox2.Text = p.Y.ToString();
}

Der Effekt wird sein, dass sich der Wert (entsprechend) ändert, wenn wir den Zeiger nach dem Ausführen der App haben.

Lassen Sie uns zwei Instanzen des Ausgabebildschirms anhängen:

C# Mausposition abrufen - Ausgabe 1

C# Mausposition abrufen - Ausgabe 2

Sie können auf beiden Ausgabebildschirmen sehen, dass sich der Positionswert ändert, während Sie den Cursor bewegen. Dieser Positionswert bezieht sich auf den aktuellen Bildschirm.

Auf diese Weise können wir die aktuelle Mausposition in einem C# .NET-Code abrufen und für weitere Programmieraufgaben verwenden.

Verwandter Artikel - Csharp Mouse