我搜索了一下,我只能找到循环通过FormCollection和关闭表单的解决方案。但是,我想特定关闭一个表单(如果它打开)。有谁知道如何实现这样的目标?
if(Form.Name("myForm") == open)
close(Form.Name("myForm"));
答案 0 :(得分:1)
当您关闭表单Application.OpenForms
更改 时,这就是您必须关闭 两个步骤的原因 强>:
List<Form> forms = new List<Form>();
// All opened myForm instances
foreach(Form f in Application.OpenForms)
if (f.Name == "myForm")
forms.Add(f);
// Now let's close opened myForm instances
foreach (Form f in forms)
f.Close();
或者使用 Linq 进行更简洁的实现:
Application.OpenForms
.OfType<Form>()
.Where(form => String.Equals(form.Name, "myForm"))
.ToList()
.ForEach(form => form.Close());
答案 1 :(得分:-1)
您也可以执行FORMNAMEHERE.ActiveForm.Close();