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

Posted 小马的棺材板

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 子窗体的设计,容器(Panel)中嵌入子窗体相关的知识,希望对你有一定的参考价值。

在非常多的程序中一般都包含多个“板块”
如:个人中心,投诉建议,首页等等,如果让用户每次点击一次
就出行新的窗口,用户体验非常的差,这时就可以使用容器(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();
  //打开



这样就不用一直打开新的窗口啦

纯手打,点个赞呗~

以上是关于C# 子窗体的设计,容器(Panel)中嵌入子窗体的主要内容,如果未能解决你的问题,请参考以下文章

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

WinForm中如何实现嵌入form窗体(panel与子窗体)

c#子窗体控制父窗体的显隐

VB6中 怎么让MDI子窗体始终填满父容器,并随MDI窗体的大小改变而改变?

嵌入窗体显示

Winform主窗体设计