C#中主窗体Panel中加载其他多个窗体Panel控件

今天在技术群里,笔者遇到一个这样的问题,“有客户想让两个Form窗体的内容放到一个Form窗体中,但是两个窗体的内容超出主窗体的大小”,为了解决这个问题,笔者的想法是“采用panel+滑动条方式解决以上问题”,下面就跟笔者一起来看看。
首先,笔者写了四个Form窗体,Form1为主窗体,Form2、Form3、Form4为子窗体
C#中主窗体Panel中加载其他多个窗体Panel控件_第1张图片
【主窗体】
C#中主窗体Panel中加载其他多个窗体Panel控件_第2张图片
【子窗体Form2】
C#中主窗体Panel中加载其他多个窗体Panel控件_第3张图片
【子窗体Form3】
C#中主窗体Panel中加载其他多个窗体Panel控件_第4张图片
【子窗体Form4】
C#中主窗体Panel中加载其他多个窗体Panel控件_第5张图片

三合一核心源码

 private void Form1_Load(object sender, EventArgs e)
        {
            panel1.AutoScroll = true;//设置panel控件的自动滑动条

            //在主窗体panel中添加子窗体f2
            Form2 f2 = new Form2();
            f2.TopLevel = false;
            panel1.Controls.Add(f2);
            f2.Location = new System.Drawing.Point(0, 0);
            f2.Show();

            //在主窗体panel中添加子窗体f3
            Form3 f3 = new Form3();
            f3.TopLevel = false;
            panel1.Controls.Add(f3);
            f3.Location = new System.Drawing.Point(0, f2.Location.Y + f2.Height + 2);
            f3.Show();

            //在主窗体panel中添加子窗体f4
            Form4 f4 = new Form4();
            f4.TopLevel = false;
            panel1.Controls.Add(f4);
            f4.Location = new System.Drawing.Point(0, f3.Location.Y + f3.Height + 2);
            f4.Show();
        }

三合一结果:
C#中主窗体Panel中加载其他多个窗体Panel控件_第6张图片

附加项目地址:
http://download.csdn.net/detail/lgh0824/9891099

你可能感兴趣的:(C#,控件,c#)