Winform&C# 關於嵌套窗體的實現(超詳細)

效果圖

話不多說,先看效果圖
在這裏插入圖片描述
在這裏插入圖片描述
實現的功能爲:當點擊某一功能時能在指定位置展示出指定的窗口,

具體實現過程

第一步:

預先準備一個panel控件作爲其他窗體的父窗體,通俗來說就是其他窗體展示的地方,我的命名爲 :palParent
在這裏插入圖片描述

第二步:

準備好你要展示的窗體,然後再調用兩個方法即可

第一個方法:用於關閉panel中的窗體,代碼如下

//用於關閉panel中的窗體,直接調用即可
private void CloseFrm()
        {
        //palParent爲panel控件
            foreach (Control item in this.palParent.Controls)
            {
                if (item is Form)
                {
                    Form form = (Form)item;
                    form.Close();
                    this.palParent.Controls.Remove(form);
                }
            }
        }

第二個方法:在panel中打開窗體,代碼如下

//在panel中打開指定窗體,調用該方法時,只需傳入一個窗體對象即可
private void OpenFrm(Form frm)
        {
            frm.TopLevel = false;//取消非頂級窗體
            frm.WindowState = FormWindowState.Maximized;//將窗體最大化
            frm.FormBorderStyle = FormBorderStyle.None;//設爲無邊框
            frm.Parent = this.palParent;//指定該窗體的父窗體
            frm.Show();//展示窗體
        }

最後一步:

創建窗體對象,調用兩個方法即可,注意要先調用關閉窗體的方法,再調用打開窗體方法
下面有一個例子

//實例化一個窗體對象
FrmHouseLook frmHouseLook = new FrmHouseLook();
                CloseFrm();//先調用關閉方法
                OpenFrm(frmHouseLook);//再調用打開方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章