重新打开儿童表格

Fre*_*ers 3 c# winforms

我有一个主表单和两种类型的子表单

MainForm
ChildFormA - 唯一的
ChildFormB - 具有此类型的多种形式

我创建了ChildFormA:

ChildFormA form1 = new ChildFormA();
form1.MdiParent = this;
form1.Show();
Run Code Online (Sandbox Code Playgroud)

但当我关闭它时:

form1.Close();
Run Code Online (Sandbox Code Playgroud)

我不能重新打开它.我已经阅读了一些提示,我可以隐藏此表单或关闭它.但是X按钮仍然关闭了表单.如何重新打开或如何防止X按钮关闭和简单隐藏呢?

Mat*_*ias 9

如果您希望子表单保持其状态,则必须订阅该FormClosing事件并将Cancelevent参数的属性设置为true.

public ChildForm()
{
    ...
    FormClosing += new FormClosingEventHandler(ChildForm_FormClosing);
}


void ChildForm_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
    Hide();
}
Run Code Online (Sandbox Code Playgroud)

请记住,如果您没有为此添加更多逻辑,那么您的表单将不会被处理掉.

否则,您只需创建一个新实例即可.

  • +1,是的,如果要重新显示表单,请使用.Hide()而不是.Close(). (3认同)