打开新表格时,我遇到了一些问题。第一次打开新窗体时,代码将按预期运行,但是如果我关闭该窗体并在此后立即打开一个新窗体,则该代码将无法正确执行。
请注意这不是主要形式,这是从主要形式打开的单独形式。
我怀疑问题出在我从单独的类运行的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();
}
当我重新启动应用程序时,它就像一个超级按钮一样工作,直到关闭并再次打开该窗体为止。
我希望这足以解释。 我为我的英语不好而道歉,这不是我的母语。感谢您的理解。