Usuário com melhor resposta
Componentes de um form em um UserControl

Pergunta
-
Pessoal gostaria de saber como posso usar componentes de um form em um UserControl. O que quero fazer é o seguinte:
Criei um panel e de acordo com o botão em que o usuário clicar aparece um determinado UserControl dentro desse panel. Quando o usuário clicar no botão Musica 1(esse botão já está dentro de um UserControl e é exido no panel) outro UserControl deve abrir. Para o userControl ser exibido no panel estou usando o seguinte :
private userControl1 musica = new userControl1();
panel1.Controls.Add(this.musica)
Porém o panel1 está em um form, então não consigo fazer com que no userControl em que está o botão Musica1 apareça esse panel para poder exibir o outro UserControl.
Deu para entender?
Também gostaria de saber como usar componentes de um form em outro.
Respostas
-
Olá,
No seu caso, acredito que o problema está na separação dos componentes. Então, vou propor uma solução:
1 - Crie um Form onde ficarão os botões de navegação (musica1, musica2, etc...) e o panel1 (que exibe os UserControls). A ideia é que esse Form controle a exibição dos UserControls de acordo com a ação do menu.
2 - Então, ao clicar no botão do menu (música1, por exemplo), adicione a seguinte linha no evento click:panel1.Controls.Add(this.musica)
3 - Lembre-se de criar os UserControls na mesma dimensão do Panel. Senão, terá problemas na visualização.
No caso de usar componentes de um form no outro. Poderia ser mais específica? Descreva o cenário / aplicação em que você está trabalhando. Assim podemos lhe ajudar melhor.
Hudson Carvalho
- Marcado como Resposta Robson William SilvaModerator segunda-feira, 27 de março de 2017 13:35
Todas as Respostas
-
Olá,
No seu caso, acredito que o problema está na separação dos componentes. Então, vou propor uma solução:
1 - Crie um Form onde ficarão os botões de navegação (musica1, musica2, etc...) e o panel1 (que exibe os UserControls). A ideia é que esse Form controle a exibição dos UserControls de acordo com a ação do menu.
2 - Então, ao clicar no botão do menu (música1, por exemplo), adicione a seguinte linha no evento click:panel1.Controls.Add(this.musica)
3 - Lembre-se de criar os UserControls na mesma dimensão do Panel. Senão, terá problemas na visualização.
No caso de usar componentes de um form no outro. Poderia ser mais específica? Descreva o cenário / aplicação em que você está trabalhando. Assim podemos lhe ajudar melhor.
Hudson Carvalho
- Marcado como Resposta Robson William SilvaModerator segunda-feira, 27 de março de 2017 13:35
-
Obrigado pela resposta, mas não posso fazer desse jeito porque preciso que vários UserControls abram nesse painel principal sem ter um menu no form principal, por exemplo: existe um botão playlist, quando clicar nesse botão vai abrir várias músicas (primeiro UserControl) e se clicar no botão da música ira abrir um player (segundo UserControl). Entendeu? É como se uma coisa levasse a outra.