C# 子窗体的设计,容器(Panel)中嵌入子窗体

192 阅读1分钟

在非常多的程序中一般都包含多个“板块” 如:个人中心,投诉建议,首页等等,如果让用户每次点击一次 就出行新的窗口,用户体验非常的差,这时就可以使用容器(Panel) 把打开的窗口都在里面,页面也变的美观起来

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述


创建容器: 在工具箱,搜索拉到窗体,然后直接设置一下,和文本框差不多 在这里插入图片描述 界面: 方便演示随便弄了两个按钮 在这里插入图片描述 在这里插入图片描述

个人中心板块: 点击个人中心时,在容器中打开 注意:因为容器中一次只能打开一个窗口,使用点击按钮的时候需要先判断 是否已经有窗口打开了,有就关闭,不然只能打开一次在点击其他没反应

取消子窗口的边框:请添加图片描述 个人中心按钮代码:

foreach (Control aa in this.panel1.Controls)
 {
 if (aa is Form)
 {
 ((Form)aa).Close();
}
 }
 //判断是否已经有打开的窗口,有就关闭
 
 Form1 f = new Form1();
   //实例化
f.TopLevel = false;
 //窗口是否顶层
   f.Parent = panel1;
  //他爸是容器panel1
  panel1.Controls.Add(f);//将子窗体载入panel
 //添加f实例到容器
  f.Show();
  //打开

投诉建议的代码也是一样的,

 foreach (Control aa in this.panel1.Controls)
    {
   if (aa is Form)
  {
 ((Form)aa).Close();
   }
 }
  //判断是否已经有打开的窗口,有就关闭

  投诉建议 f = new 投诉建议();
  //实例化
  f.TopLevel = false;
 //窗口是否顶层
    f.Parent = panel1;
  //他爸是容器panel1
 panel1.Controls.Add(f);//将子窗体载入panel
   //添加f实例到容器
    f.Show();
  //打开

在这里插入图片描述 在这里插入图片描述 这样就不用一直打开新的窗口啦

纯手打,点个赞呗~