panel跳转
Panel控件相当于在我们主窗体中添加了一个容器,通过这个容器把我们需要用的控件直接在这个容器中显示,其中就包括窗体,这样每次单击事件就只有这一个窗体中的控件内容在变化。
逻辑
下面做一个box里面有个panel,其他界面都在这个panel里面切换
注意:这里的主界面给重命名为Main了 一开始叫Form1 如果没有重命名 那么这里的Main就要改成Form1
代码
//f是要打开的
public void loadform(object Form)
{
if (this.uiPanel2.Controls.Count > 0)//uiPanel2就是要操作的界面
{
this.uiPanel2.Controls.Clear(); ;
}
Form f = Form as Form;
f.TopLevel = false;
f.FormBorderStyle = FormBorderStyle.None;
f.Dock = DockStyle.Fill;
this.uiPanel2.Controls.Add(f);
this.uiPanel2.Tag = f;
f.Show();
}
主界面与box之间的跳转
public static TSetting de=new TSetting();//也可以这样,将de带入到loadform中,这样就可以更好的操作该窗体里面的函数了,不然只能写static,或者说不能操作里面的各种控件
//跳过去
private void uiLabel4_Click(object sender, EventArgs e)
{
sbox.Show();
Main.sbox.loadform(new TSetting());//跳到盒子里后 立马调出第一个界面 每次使用这个 就相当于new了一个新的界面
this.Hide();
}
//跳回来
private void uiButton7_Click(object sender, EventArgs e)
{
this.Hide();
Program.MainObj2.Show();
}
box里面页面之间跳转就下面这么一句就好了
private void uiPanel5_Click(object sender, EventArgs e)
{
Main.sbox.loadform(new Developer()