我正在使用WinForms。我想关闭除我的主窗体Form1以外的所有窗体。我注意到我的主要表格是索引0,所以我想知道是否可以执行类似的操作,关闭除索引0以外的所有表格。我该怎么做?这是我到目前为止所拥有的。

 List<Form> openForms = new List<Form>();

  foreach (Form f in Application.OpenForms)
  {
        openForms.Add(f);
        int mainFormIndex = openForms.IndexOf(0);
        Console.WriteLine(": " + mainFormIndex);


        if(mainFormIndex != 0)
        {
           this.Owner.Close();
           }
           else
           {
             this.Close();
           }
        }
  }

最佳答案

您可以检查Form的名称,然后关闭,例如,如果需要保持Form1打开并关闭所有其他表单;例如,

for (int i = Application.OpenForms.Count - 1; i >= 0; i--)
{
    if (Application.OpenForms[i].Name != "Form1")
    {
        Application.OpenForms[i].Close();
    }
}

关于c# - 关闭除我的主表单以外的所有表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40561167/

10-11 04:41