Usuário com melhor resposta
Componentes sobrepostos

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?
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
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
-