已经可见的表单不能显示为模式对话框

时间:2014-05-15 21:45:46

标签: c# winforms

在我的程序中,我在ShowDialog的帮助下打开每个表单,并在以下帮助下关闭上一个表单:

this.Hide();
...some code...
this.Close();

但是当我想第二次打开Form时,我会收到标题中的错误。它能是什么?也许是因为我使用Singleton模式来表示我想要再次打开的那种形式。

1 个答案:

答案 0 :(得分:0)

您可以根据需要创建每个表单的新实例,而不是使用ShowDialog不断显示表单。例如

using(Form frm = new Form1)
{
   DialogResult dr = frm.ShowDialog(this)
   if(dr == DialogResult.Cancel)
   {
     ...
   }
}

Form frm = new Form1();
DialogResult dr = frm.ShowDialog(this);
if(dr == DialogResult.Cancel)
{
  ...
}
frm.Dispose();

请参阅此answer