/ / Como adicionar um controle de usuário em um painel de um clique de botão de outro controle de usuário? - c #, winforms, controles de usuário

Como adicionar um controle de usuário em um painel a partir de um clique no botão de outro controle de usuário? - c #, winforms, controles de usuário

Eu tenho um painel1, 2 controles de usuário uc1 e uc2. uc1 é adicionado ao painel. O uc1 tem um buttonUC1. Quando clico nesse botão, eu quero esconder o uc1 e mostrar o uc2 que tem outro buttonUC2. Clicando no buttonUC2, eu quero esconder o uc2 e mostrar uc1 no painel.

Respostas:

0 para resposta № 1

Enquanto você pode adicionar, mostrar ou ocultar o outro controlepara um painel no formulário pai, mas, em vez disso, é melhor criar um formulário de evento no controle de usuário que contém o botão quando o botão clicou, inscreva-se no formulário e faça o que for necessário, por exemplo, ocultar seu controle e mostre o outro controle de usuário no painel em seu formulário.

Aprender mais:

Exemplo:

O código para UserControl1:

[System.ComponentModel.DefaultEvent("ButtonClicked")]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
button1.Click += button1_Click;
}

public event EventHandler ButtonClicked;
protected virtual void OnButtonClicked(EventArgs e)
{
var handler = ButtonClicked;
if (handler != null)
handler(this, e);
}
private void button1_Click(object sender, EventArgs e)
{
OnButtonClicked(EventArgs.Empty);
}
}

Em seguida, use o evento em seu formulário:

private void userControl11_ButtonClicked(object sender, EventArgs e)
{
MessageBox.Show("Button of UserControl1 Clicked!");
//or for example, userControl11.Hide(); userControl21.Show();
}

Não se esqueça de se inscrever ButtonClicked evento em seu formulário, usando a guia de evento de grade de propriedade ou código ou simplesmente clicando duas vezes em seu userControl11 em seu formulário em tempo de design.