Координаты Windows FormsWindows Forms Coordinates

Система координат для формы Windows Forms основана на координатах устройства, а основной единицей измерения при рисовании в Windows Forms является единица устройства (обычно, пиксель).The coordinate system for a Windows Form is based on device coordinates, and the basic unit of measure when drawing in Windows Forms is the device unit (typically, the pixel). Точки на экране описываются парами координат x и y, значения координат по оси x увеличиваются вправо, а значения координат по оси y увеличиваются сверху вниз.Points on the screen are described by x- and y-coordinate pairs, with the x-coordinates increasing to the right and the y-coordinates increasing from top to bottom. Расположение начала отсчета относительно экрана будет зависеть от того, указываете ли вы координаты экрана или клиента.The location of the origin, relative to the screen, will vary depending on whether you are specifying screen or client coordinates.

Экранные координатыScreen Coordinates

Windows Forms приложение задает расположение окна на экране в экранных координатах.A Windows Forms application specifies the position of a window on the screen in screen coordinates. Для экранных координат источник — это верхний левый угол экрана.For screen coordinates, the origin is the upper-left corner of the screen. Полное расположение окна часто описывается структурой Rectangle, содержащей координаты экрана двух точек, определяющих верхний левый и правый нижний угол окна.The full position of a window is often described by a Rectangle structure containing the screen coordinates of two points that define the upper-left and lower-right corners of the window.

Клиентские координатыClient Coordinates

Windows Forms приложение задает расположение точек в форме или элементе управления с помощью клиентских координат.A Windows Forms application specifies the position of points in a form or control using client coordinates. Источник координат клиента — это верхний левый угол клиентской области элемента управления или формы.The origin for client coordinates is the upper-left corner of the client area of the control or form. Клиентские координаты гарантируют, что приложение может использовать согласованные значения координат при рисовании в форме или элементе управления независимо от положения формы или элемента управления на экране.Client coordinates ensure that an application can use consistent coordinate values while drawing in a form or control, regardless of the position of the form or control on the screen.

Размеры клиентской области также описываются структурой Rectangle, которая содержит клиентские координаты области.The dimensions of the client area are also described by a Rectangle structure that contains client coordinates for the area. Во всех случаях верхняя левая координата прямоугольника включается в клиентскую область, а нижняя-правая — исключается.In all cases, the upper-left coordinate of the rectangle is included in the client area, while the lower-right coordinate is excluded. Графические операции не включают правый и нижний края клиентской области.Graphics operations do not include the right and lower edges of a client area. Например, метод FillRectangle будет заполнен до правого и нижнего края указанного прямоугольника, но не будет включать эти края.For example the FillRectangle method will fill up to the right and lower edge of the specified rectangle, but will not include these edges.

Сопоставление одного типа координат с другимMapping From One Type of Coordinate to Another

Иногда может потребоваться выполнить преобразование координат экрана в клиентские координаты.Occasionally, you may need to map from screen coordinates to client coordinates. Это можно легко сделать с помощью методов PointToClient и PointToScreen, доступных в классе Control.You can easily accomplish this by using the PointToClient and PointToScreen methods available in the Control class. Например, свойство MousePosition Control сообщается в координатах экрана, но может потребоваться преобразовать их в клиентские координаты.For example, the MousePosition property of Control is reported in screen coordinates, but you may want to convert these to client coordinates.

См. также разделSee also