Share via


Como: Controlar o comportamento de encaixe

A ordem na qual os controles são adicionados a um formulário pode afetar o layout dos controles na tela quando o recurso de encaixe é usado.Controles não aparecem sempre no local pretendido na tela se os controles não são adicionados na ordem correta.

A ordem em que você adicionar controles a um formulário afeta a ordem z e quando vários controles são encaixados em um controle pai, na ordem z determina a lógica de layout.Pela primeira vez um controle adicionado a um controle pai é colocado na parte inferior da ordem z, e controles adicionados depois de fazer isso estão em camadas seqüencialmente na parte superior.Quando você tentar colocar um controle adjacente a outro, encaixando-os à mesma área em um controle pai, o controle que é mais novamente na ordem z prevalece no layout resultante.Por exemplo, se o Dock propriedade de dois controles é conjunto para Top, em cenários típicos, o controle que é bem verso na ordem z é exibido na parte superior do controle pai na tela.

No entanto, quando o Dock propriedade para um controle é conjunto para Fill, potencialmente esse problema pode resultar em um controle ocultando outro controle. Por exemplo, dois controles adicionados ao formulário na ordem errada podem aparecer na parte superior da tela, um ocultando o Outros, quando a intenção é colocar apenas um dos controles nesse local.

Se ocorrerem problemas de layout, a ordem z dos controles afetados deve ser ajustada.Etapas diferentes, serão necessário para corrigir esse problema ou não o designer está sendo usado para adicionar controles ao formulário.

Para controle o layout de encaixe

  • Corrigi a ordem na qual os controles relevantes são adicionados ao formulário.

    Considere um exemplo no qual um TreeView controle e um Button controle programaticamente são adicionados a um Panel controle. The Dock propriedade das TreeView controle estiver definida como Fille o Dock propriedade das Button controle estiver definida como Top. The TreeView controle parcialmente obscurece o Button controle. O código que adiciona o TreeView e Button os controles para o Panel pode parecer com o seguinte:

    this.panel1.Controls.Add(this.button1);
    this.panel1.Controls.Add(this.treeView1);
    

    Para corrigir o problema, altere a ordem em que esses controles são adicionados ao painel.

    this.panel1.Controls.Add(this.treeView1);
    this.panel1.Controls.Add(this.button1);
    

    Como alternativa, use o BringToFront ou SendToBack métodos em um dos controles.

Para controle o layout de encaixe usando o designer

  1. selecionar um dos controles que aparece no local errado no formulário.

  2. Dependendo do layout desejado, ou clicar com o botão direito do mouse no controle e selecionar Enviar para trás.

    - ou -

    clicar com o botão direito do mouse no controle e selecionar Trazer para frente.

  3. Se controles adicionais estão envolvidos, você pode Repetir a etapa 2 para outros controles, se necessário, até que o comportamento de ancoragem seja corrigido.

Observação:

Se vários controles estão envolvidos, é recomendável que você usar a janela documento estrutura de tópicos para controlar a ordem z.

Consulte também

Conceitos

Tópicos "como" do .NET compact estrutura