none
Componentes sobrepostos RRS feed

  • Pergunta

  • Pessoal gostariam de criar um form no qual quando o usuário aperta no botão o que estiver no meio (botões, label, etc..) mude. Se eu usar apenas Visible= true ou false, vai ficar muito poluído para desenvolver e se usar o painel some todos os outros painéis (porque eles estão um dentro do outro). Como posso fazer isso então?
    sábado, 25 de março de 2017 17:16

Respostas

  • Amigo,

    Nesse caso, sugiro que utilize UserControls. Assim, você pode criar um UserControl agrupando os campos e funcionalidades que você precisar.

    Então, conforme você mesmo mencionou, o seu form apresentaria esses UserControls conforme o evento. Você poderia adicionar um Panel que represente o espaço onde o UserControl será apresentado.

    Na prática, para exibir o controle, bastaria a seguinte linha de código:

    //Declaração global
    private ucCadastro _ucCadastro = new ucCadastro();
    
    //Adicione no Form_Load
    this.panel1.Controls.Add(this._ucCadastro);
    
    //Controle a visibilidade em algum evento da tela (click de um botão por exemplo)
    this._ucCadastro.Visible = !this._ucCadastro.Visible;

    É um exemplo básico, apenas para você entender o conceito. Ao clicar no botão, ele vai exibir e esconder o usercontrol. Com isso, acredito que você terá sucesso em sua implementação.

    Espero ter ajudado!


    Hudson Carvalho

    • Marcado como Resposta Luisa Salles sábado, 25 de março de 2017 19:45
    sábado, 25 de março de 2017 18:53

Todas as Respostas

  • Amigo,

    Nesse caso, sugiro que utilize UserControls. Assim, você pode criar um UserControl agrupando os campos e funcionalidades que você precisar.

    Então, conforme você mesmo mencionou, o seu form apresentaria esses UserControls conforme o evento. Você poderia adicionar um Panel que represente o espaço onde o UserControl será apresentado.

    Na prática, para exibir o controle, bastaria a seguinte linha de código:

    //Declaração global
    private ucCadastro _ucCadastro = new ucCadastro();
    
    //Adicione no Form_Load
    this.panel1.Controls.Add(this._ucCadastro);
    
    //Controle a visibilidade em algum evento da tela (click de um botão por exemplo)
    this._ucCadastro.Visible = !this._ucCadastro.Visible;

    É um exemplo básico, apenas para você entender o conceito. Ao clicar no botão, ele vai exibir e esconder o usercontrol. Com isso, acredito que você terá sucesso em sua implementação.

    Espero ter ajudado!


    Hudson Carvalho

    • Marcado como Resposta Luisa Salles sábado, 25 de março de 2017 19:45
    sábado, 25 de março de 2017 18:53
  • Muito Obrigada, deu certinho!!!
    sábado, 25 de março de 2017 19:45