代码改变世界

C#在splitContainer1控件和panel控件中显示窗体

  糯米粥  阅读(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;

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
'
点击右上角即可分享
微信分享提示