C#中,如何关闭除主窗体以外的所有窗体?

我说的主窗体是Application.Run(new Form1());中的Form1,其它窗体都是单独的,与Form1相互间没有父子关系。
因为写的程序要有个 ”首页“ 按钮,单击后要显示Form1而关闭所有其它窗体

这个可以使用一个辅助类,类中用比如List<Form>获取各个已经打开子窗体的引用,当点击首页时,循环遍历list关闭子窗体,这个只是我的思路你试试,在窗体程序中还没遇见点击首页关闭所有子窗体,只做过点击首页,当前子窗体关闭,并打开主窗体!
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-26
提示下,取得所有窗口: Application.OpenForms

foreach (Form f in Application.OpenForms)
{
if (f != form1)
f.Close();
}本回答被网友采纳
第2个回答  2012-07-26
把其他的窗体直接隐藏算了!
第3个回答  2017-05-17
窗体名.ActiveForm.Close();
第4个回答  2012-07-25
如果不是主窗体
visible=false,

C#中,如何关闭除主窗体以外的所有窗体?
这个可以使用一个辅助类,类中用比如List<Form>获取各个已经打开子窗体的引用,当点击首页时,循环遍历list关闭子窗体,这个只是我的思路你试试,在窗体程序中还没遇见点击首页关闭所有子窗体,只做过点击首页,当前子窗体关闭,并打开主窗体!

C# 怎么样可以关闭非主窗体,同时关闭整个程序(进程)
不把Login设置成主窗体,把登录后的窗体设置为主窗体在主窗体的Load事件处理方法中加载Login窗体,并把主窗体的visible属性设置为false加载Login的时候把主窗体的句柄传给它关闭Login的时候,把住窗体的visible属性设置为true关闭登录后的窗体,程序就关闭了 ...

在C#中如何实现关闭所有子窗体?
1、首先我们打开子窗口的属性,点击“雷电图标(下图有框着)”找到 FormClosing(或者FormClosed)事件,双击。2、在GameUI_FormClosing事件里编辑代码。3、要是想在用户关闭子窗口程序时给个提示框,可以加参考以下代码:4、this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另...

c#关闭所有窗口
那要取决于你的最后那个窗口是什么类型的窗口了。如果是主窗体的话,就可以结束的。如果是MDI的话,也是可以结束的。但是如果是其他类型的话,就未必了。其实你可以去看application()里面的窗体是哪一个的。一般说来那里面的窗体调用了close()函数过后,程序就会结束的。

C#中可不可以关闭父窗体中当前已打开的所有子窗体
在C#编程中,若欲关闭父窗体中所有已打开的子窗体,可以使用以下代码:此代码段通过循环遍历当前实例的所有子窗体实例,判断每个子窗体是否已被销毁,若未被销毁,则调用Close方法关闭之。然而,实际操作过程中,是否能够成功关闭所有子窗体,依赖于各个子窗体的具体实现。理论上,此代码能够实现关闭所有未...

C#中怎么在本窗体中关闭别的窗体
最安全的做法是委托,委托就不需要找对象。比如我想再B窗体里面关闭C窗体,他们之间都找不到对象,对象在A里面实例化的,怎么办?委托就要用上了。在B里面写委托主体申明,然后赋予事件主体。public delegete void close;public static event close close_c;B的按钮事件中加入:close_c();C的窗体启动...

C#打开子窗体怎么关闭主窗体
如果是从programs中生成的主窗体,主窗体不能关闭,因为那样会退出程序,可以使用我这个方法,在主窗体的form_closed事件中添加如下代码:this.hide();将主窗体隐藏来实现关闭;再次打开时,使用主窗体的变量来打开:frmMain.show();当然要在子窗体中定义主窗体的变量:FrmMain frmMain;如果主窗体没有打开时...

C#关闭窗口!!!
从主窗体弹出其他窗体的是时间用弹出模式窗体showdialog,这样关闭主窗体的时间就可以把所有的关闭了。你不妨试一下!

C# 跳转到另一个Form窗体时如何关闭当前Form窗体?
方法一:关闭子窗体后 1、form2.Closed += (ss,ee)=> { this.Close(); };2、Application.OpenForms集合,找到要关闭的窗口,再Close:foreach (var item in Application.OpenForms),{ if (item is Form1) item.Close(); }。方法二:B new_form = new B();new_form.owner = this;this...

...或者有一种方法可以关闭所有窗体包括隐藏窗体
你好!如果是判断所有隐藏的窗体可以通过遍历判断所有的子窗体的隐藏属性。然后关闭所有的用Application.Exit()。

相似回答