C#中winform如何在弹出新窗口的时候进行判断

如何让新窗口的TEXT一个名字只能存在一个,不同名字可以弹出N个。

遍历所有打开的窗口。

 

示例:

for (int i = 0; i < System.Windows.Forms.Application.OpenForms.Count; i++)
{
    if (System.Windows.Forms.Application.OpenForms[i].Text.Equals("标题"))
    {
        return; // 已经打开过这个窗口了
    }
}

要是MDI窗体只需遍历父窗体的 MdiChildren 即可。

追问

啥是MDI窗体,我是在C#中首先弹出FORM1,这是用户登录界面,然后登陆进入FORM2,form2是个长期运行的主界面。

追答

普通窗口遍历所有打开的窗口。

MDI窗口遍历父窗体的MdiChildren。

这下明白了吗?

追问

恩,我是要判断新窗体的text保持它的唯一性,不是保持这个窗体的Name的唯一性。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-27
你那窗体都是不同的吗?都是不同的可以使用单例模式。
也可以使用下面的方式
private bool FindForm(string formtext)
{
foreach (Form f in Application.OpenForms)
{
if (f.Text == formtext)
{
return true;
}
}
return false;
}
相似回答