效果圖
話不多說,先看效果圖
實現的功能爲:當點擊某一功能時能在指定位置展示出指定的窗口,
具體實現過程
第一步:
預先準備一個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);//再調用打開方法