C# 关闭多个相同窗口

有父窗口from,子窗口form1,form2,form3.....和窗口form_a,form_b,form_c......现在通过父窗口打开多个form1和form2....子窗口后,每个子窗口再打开多个form_a,form_b...例如:form1,打开了4个form_a.我想一次性全部关闭form1对应的所有form_a,我用:List<form_a> list = new List<form_a>(); //检测并关闭for (int si = 0; si < Application.OpenForms.Count; si++){if (Application.OpenForms[si].Name == "form_a"){//Application.OpenForms[si].Close();Application.OpenForms["Client_1"].Dispose();}}用这个来关闭,如果只开了3个form_a的话就可以全部关闭,但如果我是开了4个以上的form_a就关闭不了,每次都剩下一两个......请问怎么回事?有没有其他办法实现?

第1个回答  2013-11-16
因为没关闭一个, OpenForms会减少一个窗体,索引位置和总数就会改变
应该是这样:
if (Application.OpenForms[si].Name == "form_a")
{
Application.OpenForms[si].Close();
si--;
}本回答被网友采纳
第2个回答  2013-11-16
好吧 我想知道 你是不是就是想关闭所有程序? Application.Exit();可以关闭应用程序,不管你有几个窗口 这样不用调用close方法了,不知道你循环Dispose有何意义?
第3个回答  2013-11-16
用数组(或泛型)存下打开的窗口实例,然后在关闭时循环关闭就行了啊,释放实例,有问题吗?

C#中winform的timer控件定时弹窗后,会弹出多个同样的窗口?
你可以在你的Show方法那里按F9添加一个断点,然后看它每次弹出是走的什么条件 一般来说,如果你只需执行一遍代码;那在你的代码完成之后就应该直接关闭计时器 还有,你可以把你的时间间隔设置长一点;具体你可以查看MSDN的官方示例

C#如何获取当前窗体是否存在
你肯定是遇到点击多次就打开多个重复窗体的问题了。解决方法有很多:1. 设置一个窗体属性叫Top什么的。就是让他保持在最上面,这样你就不能点击到你第一个页面的跳转按钮了,只会有一个当前窗体了,呵呵

ASP.NET(C#)如何实现多个页面共用一个窗口
你要的效果和这差不多,你用用户控件.ascx然后嵌套在aspx页面里面就能够解决这个问题了,我也是把打开的新窗口嵌套在同一个页面下的,祝你好运!

c# MDI子窗口如何在父窗口中置顶???求解
就可以实现某一个mdi窗体在父窗体的最上方了。

c#mdi窗体和普通窗体有什么区别
MDI(Multiple Document Interface)多文档界面 SDI(Single Document Interface)单文档界面 举个MDI的例子:photoshop,当我们打开一个PS工程的时候,会出现一个子窗口,当我们再开启N多个其它工程的时候,会再出现若干个其它工程窗口,只要我们在其中的选项卡中选择,就可以切换这些MDI窗体。是否使用MDI,与...

c#里面的一个程序跑偏的问题!
如果窗口程序里面有timer,其实就意味着该窗口同时有多个进程在运行。调试起来容易出问题。试着把 timer_Tick中的断点取消,看是否能运行PrintPreForm_Load,或者暂时停用timer。

如何在同一窗体内切换窗体界面 C#
TabControl 控件.或MDI父窗口模式 或者用面板(panel),创建多个面板,利用Hide();\/\/隐藏某个控件 并对其进行切换,如有不懂,请留言。

c#中有多个解决方案 怎么调试其中的一个
在“解决方案资源管理器”窗口里,右键单击你要调试运行的项目,在弹出菜单中单击“设为启动项目(A)”即可。

c# 如何切换窗口
方法1.假设我有一个form叫Main,另一form叫child 在Main中有个button,该button的点击事件,内容:child dd=new child();dd.show();方法2,使用tabcontrol控件,该控件可以有多个tabPage 方法3,使用plan控件,每个plan中有不同的内容,可以通过点知不同的button事件,让plan的可见性不同就...

c#中多个容器怎样共享一个窗口
给触发事件,比如你有一个窗体,上有几个菜单,当你点其中一个的时候让其它的pannel的visible属性为false,让要用的显示就可以了

相似回答