例如:
已经有3个用户控件,分别为userControl1, userControl2, userControl3
userControl1中有一个按钮是需要 转换到userControl2界面
userControl2中有一个按钮是需要 转换到userControl3界面
userControl3中有一个按钮是需要 转换到userControl1界面
初始化Form1 中 为userControl1控件。
------最佳解决方案--------------------------------------------------------
你可以在Form1中放一个Panel,Form1中再放一个按钮(注意:是在Form1上放一个按钮)
在Form1中声明3个全局变量(userControl的3个实例)
private UserControl1 uc1 = new UserControl1();
private UserControl2 uc2 = new UserControl2();
private UserControl3 uc3 = new UserControl3();
在load事件中加载UserControl1
private void Form1_Load(object sender, System.EventArgs e)
{
this.panel1.Controls.Add(uc1);
}
然后处理按钮事件
private void button1_Click(object sender, System.EventArgs e)
{
switch(this.panel1.Controls[0].Name)//这里的判断是根据每个UserControl的Name属性来识别的
{
case "UserControl1":
this.panel1.Controls.Clear();
this.panel1.Controls.Add(uc2);
break;
case "UserControl2":
this.panel1.Controls.Clear();
this.panel1.Controls.Add(uc3);
break;
case "UserControl3":
this.panel1.Controls.Clear();
this.panel1.Controls.Add(uc1);
break;
default:
break;
}
}
------其他解决方案--------------------------------------------------------
恩,很好!谢谢了!