Compartilhar via


Coordenadas dos Windows Forms

O sistema de coordenadas para um Windows Form é baseado nas coordenadas de dispositivo e a unidade básica de medida de desenho no Windows Forms é a unidade do dispositivo (normalmente, o pixel). Pontos na tela são descritos por pares de coordenadas x e y, com as coordenadas x aumentando para a direita e coordenadas y aumentando de cima para baixo. O local de origem, em relação à tela, variará dependendo se você está especificando as coordenadas de tela ou de cliente.

Coordenadas de tela

Um Aplicativo do Windows Forms especifica a posição de uma janela na tela em coordenadas de tela. Para coordenadas de tela, a origem é o canto superior esquerdo da tela. A posição completa de uma janela é frequentemente descrita por uma Rectangle estrutura que contém as coordenadas da tela de dois pontos que definem os cantos superior esquerdo e inferior direito da janela.

Coordenadas de cliente

Um Aplicativo do Windows Forms especifica a posição dos pontos em um formulário ou controle usando coordenadas de cliente. A origem das coordenadas de cliente é o canto superior esquerdo da área de cliente do controle ou formulário. Coordenadas de cliente garantem que um aplicativo pode usar valores de coordenadas consistentes ao desenhar em um formulário ou controle, independentemente da posição do formulário ou controle na tela.

As dimensões da área do cliente também são descritas por uma Rectangle estrutura que contém coordenadas do cliente para a área. Em todos os casos, a coordenada superior esquerda do retângulo está incluída na área de cliente, enquanto a coordenada inferior direita é excluída. Operações de elementos gráficos não incluem bordas direita e inferiores de uma área de cliente. Por exemplo, o FillRectangle método preencherá até a borda direita e inferior do retângulo especificado, mas não incluirá essas bordas.

Mapeamento de um tipo de coordenada para outro

Ocasionalmente, pode ser recomendável mapear das coordenadas de tela para as coordenadas de cliente. Você pode facilmente fazer isso usando os PointToClient métodos e PointToScreen disponíveis na Control classe. Por exemplo, a MousePosition propriedade de é relatada em coordenadas de tela, mas convém convertê-las em coordenadas de Control cliente.

Confira também