
Originariamente inviata da
MItaly
Venendo al tuo problema, non fai prima a lasciare i controlli sempre lì, ma mostrarli/nasconderli alla bisogna?
Grazie!
DIci una cosa del genere?
Dentro il form principale:
codice:
public Tool()
{
InitializeComponent();
MainPanel.Controls.Add(Global.Login = new Login());
MainPanel.Controls.Add(Global.UserControl1= new UserControl1());
MainPanel.Controls.Add(Global.UserControl2= new UserControl2());
MainPanel.Controls.Add(Global.UserControl3= new UserControl3());
Control[] lg = MainPanel.Controls.Find("Login", true);
Control[] ch = MainPanel.Controls.Find("UserControl1", true);
Control[] ns = MainPanel.Controls.Find("UserControl2", true);
Control[] es = MainPanel.Controls.Find("UserControl3", true);
lg[0].Visible = true;
ch[0].Visible = false;
ns[0].Visible = false;
es[0].Visible = false;
}
Dentro lo usercontrol Login:
codice:
private void btnLogin_Click(object sender, EventArgs e)
{
if (loginOK)
{
Control[] cm = Parent.Controls.Find("UserControl1", true);
cm[0].Visible = true;
this.Visible = false;
}
}
Dentro lo Usercontrol1:
codice:
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked == true)
{
Control[] ns = Parent.Controls.Find("UserControl2", true);
ns[0].Visible = true;
}
else
{
Control[] es =Parent.Controls.Find("UserControl3", true);
es[0].Visible = true;
}
this.Visible = false;
}
Dentro lo userControl2
codice:
private void button13_Click(object sender, EventArgs e)
{
Control[] cm = Parent.Controls.Find("UserControl1", true);
cm[0].Visible = true;
this.Visible = false;
}
Dentro lo UserControl3
codice:
private void button13_Click(object sender, EventArgs e)
{
Control[] cm = Parent.Controls.Find("UserControl1", true);
cm[0].Visible = true;
this.Visible = false;
}