【Winform学习笔记】检查窗体是否打开(单例)
在做项目时经常会遇到需要打开一个窗体,如果窗体存在就不在打开的情况,就自己写了个简单的函数来调用,foreach遍历打开的窗体,如果匹配到,返回true。
using System.Windows.Forms;
/// <summary>
/// 检查窗体是否已经打开
/// </summary>
/// <param name="formName"></param>
/// <returns></returns>
private bool CheckForm(string formName)
{
bool opened= false;
foreach (Form f in Application.OpenForms)
{
if (f.Name == formName)
{
opened= true;
f.Activate();
break;
}
}
return opened;
}
在调用该函数时:
if (!CheckForm(typeof(窗体名).Name))
{
//窗体实例化
窗体名 chuangtiming= new 窗体名();
chuangtiming.MdiParent = this;
chuangtiming.Show();
}