C#在splitContainer1控件和panel控件中显示窗体
2013-09-20 11:52 糯米粥 阅读(6496) 评论(0) 编辑 收藏 举报现在有两个窗体 Form1 和Form2
Form1中有控件splitContainer1 和panel 。控件。我们希望Form2在splitContainer1或者panel控件中显示
1:首先看在splitContainer1中显示。splitContainer控件本身就分为panel1和panel2两部分。我们可以上下布局和左右布局。
我这里是上下布局,我把Form2在splitContainer1中的panel1中显示
先把Form1为MDI容器 即属性 IsMdiContainer=true
我把代码写在Form1的load事件中。让窗体加载就显示
private void Form1_Load(object sender, EventArgs e) { //splitContainer1控件 Form2 u = new Form2(); //u.Top = -25; //u.Dock = DockStyle.Fill; //充满父容器 //u.FormBorderStyle = FormBorderStyle.None; //不显示边框 //this.splitContainer1.Panel1.Controls.Clear(); u.MdiParent = this; u.Parent = this.splitContainer1.Panel1; u.Show(); }
2:在panel中显示窗体 。只需改少量代码 《就不上图了》
private void Form1_Load(object sender, EventArgs e) { //splitContainer1.Panel1.Container.Add(""); //Form2 d = new Form2(); //d.MdiParent = this; //d.Show(); //splitContainer1控件 Form2 u = new Form2(); u.TopLevel = false; //u.Top = -25; //u.Dock = DockStyle.Fill; //充满父容器 //u.FormBorderStyle = FormBorderStyle.None; //不显示边框 //this.splitContainer1.Panel1.Controls.Clear(); //u.MdiParent = this; //u.Parent = this.splitContainer1.Panel1; //u.Show(); Form2 x = new Form2(); x.TopLevel = false; //既然是子窗体就不能是顶级窗体 this.panel1.Controls.Add(x); x.Show(); }
窗体是显示出来了。如果你觉得显示了 最大化。最小化 删除按钮不喜欢。想让别人家看上去完全是一个窗体的效果。
我们可以通过上面的代码u.Top = -25 距离顶部的距离(控件panel1 或者splitContainer1.panel1顶部的距离)。是负数则向上移。那么splitContainer1或者
panel1控件就会遮住最大化。最小化 删除按钮 。不过这个值的大小。需要自己尝试,不一定是 -25。或者。你可以索性设置Form2的属性设置: FormBorderStyle.None;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?