当我两次打开新表单时,OpenForms将无法运行

时间:2019-10-21 17:17:17

标签: c#

打开新表格时,我遇到了一些问题。第一次打开新窗体时,代码将按预期运行,但是如果我关闭该窗体并在此后立即打开一个新窗体,则该代码将无法正确执行。

请注意这不是主要形式,这是从主要形式打开的单独形式。

我怀疑问题出在我从单独的类运行的Application.OpenForms中。但是我真的不知道为什么它第二次不运行。

这里是一个示例(此代码从单独的类运行):

在文本框中(txtCFProjectNr),我写了“ 0000-0000”,第一次打开表单时它返回0000-0000,第二次返回“ 2”。

    static frmCFNewProject newProjFrm = Application.OpenForms.OfType<frmCFNewProject>().FirstOrDefault();

    public static void projectNrChanged()
    {
        bool format = Regex.IsMatch(newProjFrm.txtCFProjectNr.Text, @"[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]");
    }

这是我打开新表格的方式

    public void btnCFCreateNewStructure_Click(object sender, EventArgs e)
    {
        frmCFNewProject frm = new frmCFNewProject();
        frm.ShowDialog();
    }

当我重新启动应用程序时,它就像一个超级按钮一样工作,直到关闭并再次打开该窗体为止。

我希望这足以解释。 我为我的英语不好而道歉,这不是我的母语。感谢您的理解。

0 个答案:

没有答案