Coordenadas de formularios Windows Forms

El sistema de coordenadas de un formulario de Windows Forms se basa en las coordenadas del dispositivo, y la unidad de medida básica al dibujar en Windows Forms es la unidad del dispositivo (normalmente, el píxel). Los puntos en pantalla se describen mediante pares de coordenadas x e y, donde las coordenadas x aumentan hacia la derecha y las coordenadas y, de arriba a abajo. La ubicación del origen con respecto a la pantalla variará en función de si se especifican las coordenadas de la pantalla o del cliente.

Coordenadas de pantalla

Una aplicación de Windows Forms especifica la posición de una ventana en la pantalla en las coordenadas de pantalla. En las coordenadas de pantalla, el origen es la esquina superior izquierda de la pantalla. La posición completa de una ventana suele describirse mediante una estructura Rectangle que contiene las coordenadas de pantalla de dos puntos, los cuales definen las esquinas superior izquierda e inferior derecha de la ventana.

Coordenadas de cliente

Una aplicación de Windows Forms especifica la posición de los puntos de un formulario o un control mediante coordenadas de cliente. El origen de las coordenadas de cliente es la esquina superior izquierda del área de cliente del control o del formulario. Las coordenadas de cliente garantizan que una aplicación pueda usar valores de coordenada coherentes al dibujar en un formulario o un control, independientemente de la posición de ese formulario o control en la pantalla.

Las dimensiones del área cliente también se describen mediante una estructura Rectangle que contiene las coordenadas de cliente del área. En todos los casos, la coordenada superior izquierda del rectángulo está incluida en el área del cliente, mientras que la coordenada inferior derecha está excluida. Las operaciones con gráficos no incluyen los bordes derecho e inferior de un área de cliente. Por ejemplo, el método FillRectangle se rellenará por completo hasta los bordes derecho e inferior del rectángulo especificado, pero no incluirá estos bordes.

Asignación de un tipo de coordenada a otro

A veces, es posible que tenga que asignar desde coordenadas de pantalla a coordenadas de cliente. Puede hacerlo fácilmente con los métodos PointToClient y PointToScreen disponibles en la clase Control. Por ejemplo, la propiedad MousePosition de Control se indica en las coordenadas de pantalla, pero posiblemente le interese convertirlas en coordenadas de cliente.

Vea también