文档库 最新最全的文档下载
当前位置:文档库 › C#在一个窗体中关闭另一个窗体

C#在一个窗体中关闭另一个窗体

假设:在窗体A中 通过按钮D 关闭窗体B:

第一步:建立一个单独的类:
class sysManage//系统管理类
{
public static 窗体A flClose;//暂存窗体实例 用于在其它窗体中关闭窗体
public static 窗体B frClose;//暂存窗体实例 用于在其它窗体中关闭窗体
}

第二步:在窗体A的LOAD事件中:
sysManage.flClose = this;//暂存窗体实例 用于以后在另一个窗体中关闭

第三步:在窗体B的LOAD事件中:
sysManage.frClose = this;//暂存窗体实例 用于以后在另一个窗体中关闭

第四步:谁是主窗体谁就设置为另一个窗体的父窗体:假设窗体A为主窗体

当窗体A通过按钮C打开窗体B时:在按钮C的单击事件中:
窗体B b= new 窗体B();
fr.AddOwnedForm(this);//设置窗体B为当前窗体(窗体A)的子窗体
b.Show();
this.hide();
第五步:在窗体A的关闭按钮D的单击事件里:
this.Close();//父窗体A关闭
if (sysManage.frClose != null)
{
sysManage.frClose.Close();//关闭窗体B //只有在第四步中设置父子关系 这个才能生效!
sysManage.frClose.Dispose();
}

相关文档