C#在splitContainer1控件和panel控件中顯示窗體


現在有兩個窗體 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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM