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