有三个窗口:采购进货单FrmCGJH 里面有button(新商品添加) BtnADD,单击FrmCGJH.BtnAdd弹出第二个窗口增加商品窗口:FrmAdd,FrmAdd也有一个Button(保存)BtnOK,单击BtnOK会将提交的商品信息保存到数据库,同时又会弹出第三个窗口商品信息窗口FrmInfomation,一个交互接口,用来确定用户输入进货商品数量,FrmInformation上面也有一个按钮BtnSure,将商品的信息及用户输入的信息追加到FrmCGJH里面的DataGridView中,请问要在第三个窗口FrmInformation提交的时候,如何切换到FrmCGJH窗口,而不是弹出一个FrmCGJh实例的新窗口,并且关闭FrmAdd,FrmInformation.
FormCollection forms = Application.OpenForms;
Form MDIForm = new Form();
bool isOpen = false;
// 在打开的窗口中找到MDI(主)窗体
foreach (Form form in forms)
{
// 如果已经打开(运行),则不再打开
if (form is PrdForm)
{
isOpen = true;
form.Activate(); // 激活为当前活动窗口.
} if (form is MainForm)
{
MDIForm = form;
}
} // 如果没有打开,则打开.
if (isOpen == false)
{
PrdForm prdForm = new PrdForm();
prdForm.MdiParent = MDIForm;
prdForm.Width = MDIForm.Width;
prdForm.Height = MDIForm.Height;
prdForm.Show();
}
在.net中轻松掌握Windows窗体间的数据交互
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
//窗体的参数传递
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5