WinForm中 如何遍历窗体 然后关闭不需要的窗体? WinForm中 如何遍历窗体 然后关闭不需要的窗体?一个主窗体有很多个子窗体的,如何遍历所有的窗体,最好是NAME,句柄神马的暂时不懂啊。然后我就可以关闭不需要的窗体。谢谢!遍历winform遍历窗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是毫无关系的窗体,就用api的enumwindow去枚举,如果子窗体和主窗体有父子关系,比如子窗体的parent为主窗体,那么可以遍历主窗体的controls,找到类型为Form的 看来一下mono的源代码,竟然是直接用list把所有生成的窗体记录下来。然后遍历。。 有父子关系的,能写个例子么? 不会我用了Application.OpenForms集合。但是报错啊。有2种:(1)集合已修改;可能无法执行枚举操作。(2)索引超出范围。必须为非负值并小于集合大小。参数名: index怎么回事? 代码应该没有问题才对,执行的时候报错。是哪里有问题没注意到。 能写个例子吗? 我就是用的这个,不行啊,执行的时候报错你不能直接从集合中删除你可以这样foreach (var item in Application.OpenForms.Cast<Form>().ToList()) foreach (Form item in Application.OpenForms) { string x = item.Name; if (x != "Form1" || x != "Form2") item.Close(); }帮我看下,这样写有什么问题啊?foreach (var item in Application.OpenForms.Cast<Form>().ToList())是怎么在用 foreach (var item in Application.OpenForms.Cast<Form>().ToList()){ string x = item.Name; if (x != "Form1" || x != "Form2") item.Close(); } 或者这么写:Application.OpenForms.Cast<Form>().Where(x => x.Name != "Form1" && x.Name != "Form2").ToList().ForEach(x => x.Close()); caozhy 版主我用了你写的方法,为什么把我所有窗体都关闭了呢? 我的Form1主窗体我不是写了不关的吗。问题在哪啊 用 && 也是不行的,把Form1也关了用你的第二种方法倒是实现了,就是我还看不懂,不知道会不会有其他问题 请问下 caozhy版主 你这样写,是使用的哪方面的知识啊,我下来去学习下啊 请问下 caozhy版主 你这样写,是使用的哪方面的知识啊,我下来去学习下啊lambda表达式,linq。 请问下 caozhy版主 你这样写,是使用的哪方面的知识啊,我下来去学习下啊lambda表达式,linq。 谢谢版主了哈。这个用到了LINQ? 居然没看出来呢 cast where tolist严格来说属于linq textBox,comboBox的text属性如何在程序中改变 虚函数,与函数覆盖override的问题 怎么获取文件大小呢? .NET网页编程问题(在线等) 由C#风潮想起的-给初学编程者的忠告 html页面如何使用ajax请求 聊天室 希望能推荐一本可以系统的自学C#的教材 如何释放stringbuilder占用的内存? 新手,关于listView的问题 C# iTextSharp给pdf添加页眉页脚 100分--C#如何实现ctrl-space打开和关闭输入法的功能?
有父子关系的,能写个例子么? 不会我用了Application.OpenForms集合。但是报错啊。有2种:
(1)集合已修改;可能无法执行枚举操作。
(2)索引超出范围。必须为非负值并小于集合大小。参数名: index
怎么回事? 代码应该没有问题才对,执行的时候报错。是哪里有问题没注意到。
能写个例子吗? 我就是用的这个,不行啊,执行的时候报错
你不能直接从集合中删除
你可以这样
foreach (var item in Application.OpenForms.Cast<Form>().ToList())
{
string x = item.Name;
if (x != "Form1" || x != "Form2")
item.Close();
}
帮我看下,这样写有什么问题啊?
foreach (var item in Application.OpenForms.Cast<Form>().ToList())是怎么在用
{
string x = item.Name;
if (x != "Form1" || x != "Form2")
item.Close();
}
Application.OpenForms.Cast<Form>().Where(x => x.Name != "Form1" && x.Name != "Form2").ToList().ForEach(x => x.Close());
请问下 caozhy版主 你这样写,是使用的哪方面的知识啊,我下来去学习下啊
请问下 caozhy版主 你这样写,是使用的哪方面的知识啊,我下来去学习下啊
lambda表达式,linq。
请问下 caozhy版主 你这样写,是使用的哪方面的知识啊,我下来去学习下啊
lambda表达式,linq。 谢谢版主了哈。这个用到了LINQ? 居然没看出来呢