小弟目前的需求是这样的:
要做一个似类上一步,下一步的向导界面,几个步骤是由多个Panel来实现的,点下一步或上一步时就显示相应的Panel
但是显示起来非常麻烦,要判断当时panel的位置,只好一个一个地去做
想找一个全局变量之类的来记录每个PANEL的值,但是自己又没有办法来实现。自己写的代码如下://下一步的单击事件的处理方法
void btNext_Click(object sender, EventArgs e)
{
if (this.panel1.Visible == true)
{
this.panel1.Hide();
this.panel2.Visible = true;
}
else if (this.panel2.Visible == true)
{
this.panel2.Hide();
this.panel3.Visible = true;
}
}感觉这样写太麻烦了,上一步的按键事件也这样写,而且还要判断每个panel中是否有无效数据。。
有没有简便一点的方法 ,如果步数多起来我这种方法完全不可取啊。
要做一个似类上一步,下一步的向导界面,几个步骤是由多个Panel来实现的,点下一步或上一步时就显示相应的Panel
但是显示起来非常麻烦,要判断当时panel的位置,只好一个一个地去做
想找一个全局变量之类的来记录每个PANEL的值,但是自己又没有办法来实现。自己写的代码如下://下一步的单击事件的处理方法
void btNext_Click(object sender, EventArgs e)
{
if (this.panel1.Visible == true)
{
this.panel1.Hide();
this.panel2.Visible = true;
}
else if (this.panel2.Visible == true)
{
this.panel2.Hide();
this.panel3.Visible = true;
}
}感觉这样写太麻烦了,上一步的按键事件也这样写,而且还要判断每个panel中是否有无效数据。。
有没有简便一点的方法 ,如果步数多起来我这种方法完全不可取啊。
{
index++;
Controls["panel" + index.ToString()].BringToFront();
}void btPrevious_Click(object sender, EventArgs e)
{
index--;
Controls["panel" + index.ToString()].BringToFront();
}
//再判断一下当前是在最后一个,或者第一个改一下按钮的Enable就可以了
在点击上一步或下一步的时候在Panel中添加或移除UserControl面板。
无效数据的校验可以放在每个UserControl面板类的代码中进行。
这样UserControl可以重用面板,而且每个面板处理各自的功能,代码看起来也比较清晰点。