如果是另一个具有相同名称的窗体Opened 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());  

最新更新