效果图
话不多说,先看效果图
实现的功能为:当点击某一功能时能在指定位置展示出指定的窗口,
具体实现过程
第一步:
预先准备一个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);//再调用打开方法