Współrzędne formularzy systemu Windows

Układ współrzędnych formularza Windows jest oparty na współrzędnych urządzenia, a podstawową jednostką miary podczas rysowania Windows Forms jest jednostka urządzenia (zazwyczaj piksel). Punkty na ekranie są opisane za pomocą par współrzędnych x i y, ze współrzędnymi x rosnącymi w prawo i współrzędnymi y rosnącymi od góry do dołu. Lokalizacja źródła względem ekranu będzie się różnić w zależności od tego, czy określasz współrzędne ekranu, czy klienta.

Współrzędne ekranu

Aplikacja Windows Forms określa położenie okna na ekranie we współrzędnych ekranu. W przypadku współrzędnych ekranu początek to lewy górny róg ekranu. Pełna pozycja okna jest Rectangle często opisywana przez strukturę zawierającą współrzędne ekranu dwóch punktów, które definiują lewy górny i prawy dolny róg okna.

Współrzędne klienta

Aplikacja Windows Forms określa położenie punktów w formularzu lub kontrolce przy użyciu współrzędnych klienta. Źródło współrzędnych klienta to lewy górny róg obszaru klienta kontrolki lub formularza. Współrzędne klienta zapewniają, że aplikacja może używać spójnych wartości współrzędnych podczas rysowania w formularzu lub kontrolce, niezależnie od położenia formularza lub kontrolki na ekranie.

Wymiary obszaru klienta są również opisane przez strukturę Rectangle zawierającą współrzędne klienta dla tego obszaru. We wszystkich przypadkach lewa górna współrzędna prostokąta jest uwzględniana w obszarze klienta, podczas gdy dolna prawa współrzędna jest wykluczona. Operacje graficzne nie obejmują prawej i dolnej krawędzi obszaru klienta. Na przykład metoda FillRectangle wypełni się do prawej i dolnej krawędzi określonego prostokąta, ale nie będzie zawierać tych krawędzi.

Mapowanie z jednego typu współrzędnych na inny

Czasami może być konieczne mapowanie z współrzędnych ekranu na współrzędne klienta. Można to łatwo osiągnąć przy użyciu metod PointToClient i PointToScreen dostępnych w klasie Control . Na przykład właściwość jest MousePosition zgłaszana w Control współrzędnych ekranu, ale można przekonwertować je na współrzędne klienta.

Zobacz też