可以使用Application.OpenForms属性来判断,它是一个FormCollection类型的集合,可以用来获取当前已经打开的窗口,可以通过遍历这个集合来判断某个窗口是否已经打开:
bool isOpen = false;
foreach (Form f in Application.OpenForms)
{if (f.Name == "Form1"){isOpen = true;break;}
}
PS:
//关闭窗体
Application.OpenForms["FrmProgressbar"]?.Close();