Freigeben über


Windows Forms-Koordinaten

Das Koordinatensystem für ein Windows-Formular basiert auf Gerätekoordinaten, und die grundlegende Maßeinheit beim Zeichnen in Windows Forms ist die Geräteeinheit (normalerweise Pixel). Punkte auf dem Bildschirm werden durch x/y-Koordinatenpaare beschrieben, wobei die x-Koordinaten nach rechts und die y-Koordinaten von oben nach unten steigen. Die Position des Ursprungs, relativ zum Bildschirm, variiert je nachdem, ob Sie Bildschirm- oder Clientkoordinaten angeben.

Bildschirmkoordinaten

Eine Windows Forms Anwendung gibt die Position eines Fensters auf dem Bildschirm in Bildschirmkoordinaten an. Für Bildschirmkoordinaten ist der Ursprung die obere linke Ecke des Bildschirms. Die vollständige Position eines Fensters wird häufig durch eine Rectangle-Struktur beschrieben, die die Bildschirmkoordinaten von zwei Punkten enthält, die die obere linke und untere rechte Ecken des Fensters definieren.

Clientkoordinaten

Eine Windows Forms-Anwendung gibt die Position von Punkten in einem Formular oder Steuerelement mit Clientkoordinaten an. Der Ursprung für Clientkoordinaten ist die obere linke Ecke des Clientbereichs des Steuerelements oder Formulars. Clientkoordinaten stellen sicher, dass eine Anwendung beim Zeichnen in einem Formular oder Steuerelement konsistente Koordinatenwerte verwenden kann, unabhängig von der Position des Formulars oder Steuerelements auf dem Bildschirm.

Die Dimensionen des Clientbereichs werden auch durch eine Rectangle-Struktur beschrieben, die Clientkoordinaten für den Bereich enthält. In allen Fällen ist die obere linke Koordinate des Rechtecks im Clientbereich eingeschlossen, während die untere rechte Koordinate ausgeschlossen ist. Grafikvorgänge schließen die rechte und die untere Kante eines Clientbereichs nicht ein. Die FillRectangle-Methode z. B. füllt das angegebene Rechteck bis zur rechten und unteren Kante, schließt aber diese Kanten nicht ein.

Zuordnung von einem Koordinatentyp zu einem anderen

Gelegentlich müssen Sie möglicherweise Bildschirmkoordinaten und Clientkoordinaten einander zuordnen. Eine einfache Möglichkeit hierzu bieten die Methoden PointToClient und PointToScreen in der Control-Klasse. Die MousePosition-Eigenschaft von Control wird beispielsweise in Bildschirmkoordinaten angegeben, diese können jedoch in Clientkoordinaten konvertiert werden.

Weitere Informationen