1. 程式人生 > >MDI窗體容器

MDI窗體容器

hide lba contain rm2 open cli tro container logs

MDI窗體容器:

一般來說,窗體是頂級容器,不允許放在其他任何容器內,但是如果將某個窗體的IsMdiContainer屬性設置為True,那此窗體就會成為窗體容器,可以在其中放入其他窗體

在內部的窗體不管怎麽調整,是無法跳出其父級窗體容器的

註:如果想讓內部窗體一直最大化並且不要其顯示最大化最小化按鈕,可將其FormBorderStyle設置為None,Win7系統另外需要將此窗體放入一個Panel容器中

技術分享 技術分享
private void 銷售ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();

            f2.WindowState = FormWindowState.Maximized;

            f2.FormBorderStyle = FormBorderStyle.None;

            f2.MdiParent = this;

            f2.Parent = panel1;

            f2.Show();
        }
技術分享

另:內部窗體打開後是不會跟隨外部窗體大小變化而自適應的,此時需要另想辦法,比如可以在窗體大小改變事件中讓內部窗體重新恢復普通並重新最大化

技術分享 技術分享
 private void Form1_SizeChanged(object sender, EventArgs e)
        {
            foreach (var c in panel1.Controls)
            {
                if (c is Form2)
                {
                    (c as Form2).WindowState = FormWindowState.Normal;
                    (c as Form2).WindowState = FormWindowState.Maximized;
                }
            
            }
        }
技術分享

MDI窗體容器