c# - 如果是另一个具有相同名称的表单打开 C#,则关闭表单
问题描述
我试图关闭一个已经打开的表单,这个表单是应用程序的主要部分,所以如果我关闭这个表单的所有实例,应用程序就会结束。我正在尝试查找该表单是否已打开,如果已打开多个,则将其关闭:
有了这个,我打开了名为“Main”的实例:
int nPrincOpen = openForms
.OfType<Form>()
.Where(form => String.Equals(form.Name, "Main"))
.ToList()
.Count();
我关闭了这些表格,但我关闭了所有表格:
for (int i = 0; i < nPrincOpen - 1; i++)
{
Application.OpenForms
.OfType<Form>()
.Where(form => String.Equals(form.Name, "Main"))
.ToList()
.ForEach(form => form.Close());
}
我怎样才能关闭所有表格,除了一个使用链接的表格?
解决方案
让第一个表单保持打开状态。
Application.OpenForms
.OfType<Form>()
.Where(form => String.Equals(form.Name, "Main"))
.Skip(1)
.ToList()
.ForEach(form => form.Close());
推荐阅读
- r - 在数据帧之间找到相等的行,包括 NA 作为值
- appium - Ubuntu上的Appium桌面问题
- python - 如何解决 Resnet 模型中输出张量的值错误?
- mongodb - Mongo 从文档中的其他字段生成 id
- networking - 如何从客户端检测服务器 IP 并使用 TCP/IP 与该服务器连接?
- node.js - 使用 Buffer.allocUnsafe() 和 Buffer.alloc() 是什么情况?
- php - 如何使用 Doctrine 组合 Symfony 4 中唯一的两列?
- firebase - 在 null 上调用了方法“add”
- js-xlsx - 在使用带有 XLSX.utils.json_to_sheet 的标头选项时,标头不会覆盖
- php - 如何避免插入重复记录