获取表单以检查自身是否已打开

时间:2015-01-29 09:03:44

标签: c# winforms forms

我的第二张表格中有两个表格和一个方法。我希望代码的一部分仅在未打开第二个表单时执行。我有什么要写入if-Statement让表格检查它是否已经打开?我只找到了解决方法,如何检查另一个表单是否打开,而不是表单本身。

1 个答案:

答案 0 :(得分:1)

尝试以下代码: -

 Form2 frm2 = new Form2();
 if (IsOpened(frm2.Text))
  {
  }

private bool IsOpened(string name)
{
    FormCollection fc = Application.OpenForms;
    foreach (Form frm in fc)
    {
        if (frm.Text == name)
        {
            return true;
        }
    }
    return false;
}

<强>更新: -

Dmitry Bychenko建议的Linq代码: -

if (Application.OpenForms.OfType<Form>().Any(form => form.Text == frm2.Text))