C# Winform项目,怎么实现在当前窗体中关闭其它已经启动的form窗体实例
C# Winform项目,如何实现在当前窗体中关闭其它已经启动的form窗体实例。
在C# Winform项目中,有四个窗体(form1,form2,form3,form4),在form1窗体中有两个button1、button2按钮控件 (button1用于显示form2窗体,button2用于显示form3窗体),
在用户已经点击了两个button控件后分别启动显示了form2,form3窗体。
目前在form4窗体有一个关闭button按钮,请问如何实现在form4窗体中点击关闭按钮,关闭已经启动的form2,form3窗体。
注:目前的困惑是在form4窗体中无法获取已经启动显示的form2,form3窗体的实例,请问在form4窗体中如何获取form2,form3窗体的实例进行关闭。
请各位帮忙提供下相关资料,谢谢。
------解决思路----------------------
定义一个公共类,用于存储Form2、Form3的窗体对象(在你创建对象的地方传值),在Form4使用公共类中的对象关闭两个窗体。
------解决思路----------------------
可以把你要关闭的窗体放到一个公共的List中,你访问这个List,遍历关闭
------解决思路----------------------
给段代码,
结贴吧
------解决思路----------------------
比如一个简单的代码如下
Form2 fm=new Form2();
fm.Show();
fm=new Form2();
fm.Show();
即使你把fm这个变量public出来了,等你执行fm.Close()的时候,也只会关闭你后来打开的那个Form2,而之前打开的,没有保留句柄,不遍历窗体而只去访问变量,你找不到它的
在C# Winform项目中,有四个窗体(form1,form2,form3,form4),在form1窗体中有两个button1、button2按钮控件 (button1用于显示form2窗体,button2用于显示form3窗体),
在用户已经点击了两个button控件后分别启动显示了form2,form3窗体。
目前在form4窗体有一个关闭button按钮,请问如何实现在form4窗体中点击关闭按钮,关闭已经启动的form2,form3窗体。
注:目前的困惑是在form4窗体中无法获取已经启动显示的form2,form3窗体的实例,请问在form4窗体中如何获取form2,form3窗体的实例进行关闭。
请各位帮忙提供下相关资料,谢谢。
------解决思路----------------------
定义一个公共类,用于存储Form2、Form3的窗体对象(在你创建对象的地方传值),在Form4使用公共类中的对象关闭两个窗体。
------解决思路----------------------
可以把你要关闭的窗体放到一个公共的List中,你访问这个List,遍历关闭
------解决思路----------------------
给段代码,
foreach (Form frm in Application.OpenForms) {
if (frm.Name == "Form1")
{
frm.Close();
}
}
结贴吧
------解决思路----------------------
比如一个简单的代码如下
Form2 fm=new Form2();
fm.Show();
fm=new Form2();
fm.Show();
即使你把fm这个变量public出来了,等你执行fm.Close()的时候,也只会关闭你后来打开的那个Form2,而之前打开的,没有保留句柄,不遍历窗体而只去访问变量,你找不到它的