Windows Forms-Koordinaten
Das Koordinatensystem für ein Windows Form basiert auf Gerätekoordinaten, und die grundlegende Maßeinheit beim Zeichnen in Windows Forms ist die Geräteeinheit (in der Regel das Pixel). Punkte auf dem Bildschirm werden durch x- und 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. Bei 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 oberen linken und unteren rechten Ecken des Fensters definieren.
Clientkoordinaten
Eine Windows Forms-Anwendung gibt die Position von Punkten in einem Formular oder Steuerelement mithilfe von Clientkoordinaten an. Der Ursprung für Clientkoordinaten ist die obere linke Ecke des Clientbereichs des Steuerelements oder Formulars. Clientkoordinaten stellen sicher, dass eine Anwendung konsistente Koordinatenwerte beim Zeichnen in einem Formular oder Steuerelement 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 enthalten, während die untere rechte Koordinate ausgeschlossen ist. Grafikoperationen umfassen nicht die rechten und unteren Ränder eines Clientbereichs. Die FillRectangle-Methode füllt z. B. den rechten und unteren Rand des angegebenen Rechtecks aus, schließt diese Ränder jedoch nicht ein.
Zuordnung von einem Koordinatentyp zu einem anderen
Gelegentlich müssen Sie Bildschirmkoordinaten in Clientkoordinaten umwandeln. Sie können dies ganz einfach erreichen, indem Sie die in der Control Klasse verfügbaren PointToClient- und PointToScreen-Methoden verwenden. Beispielsweise wird die MousePosition-Eigenschaft von Control in Bildschirmkoordinaten gemeldet, aber Sie möchten möglicherweise diese in Clientkoordinaten konvertieren.
Siehe auch
.NET Desktop feedback