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)中嵌入子窗体的主要内容,如果未能解决你的问题,请参考以下文章
WinForm中如何实现嵌入form窗体(panel与子窗体)