我正在尝试重复使用已经打开的表单。使用Form1中的按钮打开Form2的示例。问题是每次我使用ShowDialog()而不是Show()打开Form2时,都会在打开Form2时返回我。计数始终为零。
Form1:
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show(Convert.ToString(Application.OpenForms.OfType<Form2>().Count()));
Form2 ff = new Form2();
ff.ShowDialog();
}
Form2:
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
}
如果它返回我零,那么我将永远无法重用此表格
这是我的例行程序,我正在尝试检查它是否已打开
public Form2 IsAlreadyOpen()
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm.Text == "Form2")
{
return (Form2)frm;
}
}
Form2 fs = new Form2();
return fs;
}