首先要将父容器的IsMdiContainer设置为true
接下来是加载子窗体的集中方案
1.添加子窗体(无限制)
FrmChild child = new FrmChild();
child.MdiParent = this;
child.Show();
2.单一打开,如果有重复的会关闭上一个窗体(也可以设置为不打开新窗体)
FrmChild child = new FrmChild();
foreach (Form item in this.MdiChildren)
{
if (item.Name == child.Name)
item.Close();
//if(item.Name == child.Name)
//return;
}
child.MdiParent = this;
child.Show();
3.在指定panel打开窗体
FrmChild child = new FrmChild();
child.MdiParent = this;
child.Parent = PanelShow;
child.Show();
其次,关于更新窗体中的数据
foreach (FrmRefresh item in this.MdiChildren)
{
if (item.No == Convert.ToInt32(txtNo.Text.Trim()))
item.RefreshData();
}
循环检索容器中的子窗体,找到对应的子窗体后直接调用子窗体的方法即可