ShowDialog的Hide函数似乎关闭了我的表单

时间:2019-06-21 15:46:37

标签: c#

我正在尝试重复使用已经打开的表单。使用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;
    }

0 个答案:

没有答案