C#切换页面功能的通用方法

前言

以前VB课程的时候开始就认为桌面软件布局是几个form构成的,而切换功能一直都是实例化一个form对象再隐藏原来的form展示新的form,但是生活经验告诉我这并不是一个普遍方式.偶然间终于发现了另一抹曙光.

代码

原理:在主窗口使用panel容器控件和菜单控件,然后根据菜单功能切换由各个form管理的控件至panel中.

private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
          var form = new Form4();
          ChangeForm(form);
}
void ChangeForm(Form form)
{
          form.TopLevel = false;
          form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;//设置窗体为非边框样式
          form.Dock = System.Windows.Forms.DockStyle.Fill;                  //设置样式是否填充整个panel ;
          this.panel1.Controls.Clear();
          this.panel1.Controls.Add(form);
          form.Show();                      //窗体运行 
}

这里要注意一下默认form是顶级控件,不能使用Controls.Add(form)方法,需要form.TopLevel = false;来取消form的顶级控件属性才能将form上的控件添加到panel上.

猜你喜欢

转载自blog.csdn.net/qq_37258787/article/details/80205441