Partilhar via


Como encaixar e ancorar controles (Windows Forms .NET)

Se você estiver criando um formulário que o usuário possa redimensionar em tempo de execução, os controles no formulário deverão ser redimensionados e reposicionados corretamente. Os controles têm duas propriedades que ajudam no posicionamento e dimensionamento automáticos, quando o formulário muda de tamanho.

  • Control.Dock

    Os controles que estão encaixados preenchem as bordas do contêiner do controle, seja o formulário ou um controle de contêiner. Por exemplo, o Windows Explorer encaixa seu controle de TreeView no lado esquerdo da janela e seu controle de ListView no lado direito da janela. O modo de encaixe pode ser qualquer lado do contêiner do controle ou definido para preencher o espaço restante do contêiner.

    Um formulário do Windows demonstrando os diferentes modos de ancoragem para um controlo

    Os controles são encaixados na ordem z inversa e a propriedade Dock interage com a propriedade AutoSize. Para obter mais informações, consulte Dimensionamento automático.

  • Control.Anchor

    Quando a forma de um controle ancorado é redimensionada, o controle mantém a distância entre as posições de controle e âncora. Por exemplo, se você tiver um controle TextBox ancorado nas bordas esquerda, direita e inferior do formulário, à medida que o formulário é redimensionado, o controle TextBox é redimensionado horizontalmente para que mantenha a mesma distância dos lados direito e esquerdo do formulário. O controle também se posiciona verticalmente para que sua localização seja sempre a mesma distância da borda inferior do formulário. Se um controle não estiver ancorado e o formulário for redimensionado, a posição do controle em relação às bordas do formulário será alterada.

    Um formulário do Windows que demonstra os diferentes modos de ancoragem de um controlo

Para obter mais informações, consulte Posição e disposição de controles.

Encaixe um controle

Um controle é encaixado definindo sua propriedade Dock.

Observação

Os controles herdados devem ser Protected para poderem ser encaixados. Para alterar o nível de acesso de um controlo, defina a sua propriedade Modifier na janela Propriedades.

Utilize a ferramenta de design

Utilize o designer do Visual Studio a janela de Propriedades para definir o modo de encaixe de um controlo.

  1. Selecione o controle no designer.

  2. Na janela de Propriedades , selecione a seta à direita da propriedade Dock .

    painel Propriedades do Visual Studio para .NET Windows Forms com propriedade Dock mostrada.

  3. Selecione o botão que representa a borda do contêiner onde você deseja encaixar o controle. Para preencher o conteúdo do formulário ou controle de contêiner do controle, pressione a caixa central. Pressione (nenhum) para desativar o encaixe.

    Painel de Propriedades do Visual Studio para .NET Windows Forms com propriedade Dock expandida.

O controlo é redimensionado automaticamente para se adaptar aos limites da borda em que está encaixado.

Definir Dock programaticamente

  1. Defina a propriedade Dock num controlo. Neste exemplo, um botão está encaixado no lado direito de seu contêiner:

    button1.Dock = DockStyle.Right;
    
    button1.Dock = DockStyle.Right
    

Ancorar um controle

Um controle é ancorado a uma borda definindo sua propriedade Anchor para um ou mais valores.

Observação

Certos controlos, como o controlo ComboBox, têm um limite para a sua altura. Ancorar o controle na parte inferior de sua forma ou recipiente não pode forçar o controle a exceder seu limite de altura.

Os controles herdados devem ser Protected para poderem ser ancorados. Para alterar o nível de acesso de um controle, defina a sua propriedade Modifiers na janela de Propriedades .

Utilize a ferramenta de design

Use o designer do Visual Studio janela Propriedades para definir as bordas ancoradas de um controle.

  1. Selecione o controle no designer.

  2. Na janela Propriedades, selecione a seta à direita da propriedade Anchor.

    Painel de Propriedades do Visual Studio para .NET Windows Forms com a propriedade Anchor mostrada.

  3. Para definir ou desdefinir uma âncora, selecione o braço superior, esquerdo, direito ou inferior da cruz.

    Painel Propriedades do Visual Studio para .NET Windows Forms com propriedade Anchor expandida.

Definir âncora programaticamente

  1. Defina a propriedade Anchor num controlo. Neste exemplo, um botão é ancorado nos lados direito e inferior de seu contêiner:

    button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
    
    button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    

Ver também