MDI父表格: - 设置父母(也许只是标题重复)

时间:2013-03-12 12:22:25

标签: c# mdi

看看这个question的答案。我已经尝试了aceep答案的第二条评论。问题出在“Application.OpenForms [0]”上。它给了我错误说“指定为此表单的MdiParent的表单不是MdiContainer。 参数名称:值“。然后我展开以查看有多少表单是打开的。我得到了一个惊人的结果,我现在发现。有两个打开的表单。其中一个是LoginForm,我有this.Hide();成功登录当我将其更改为this.Close();应用程序已关闭。为什么它仍然打开,如何在不关闭应用程序的情况下关闭它?

1 个答案:

答案 0 :(得分:0)

首先,如果申请在关闭表单时完全关闭,则很可能是因为您关闭了主表单,即在表单中指定的表单:

Application.Run(new MainForm());

您的LoginForm是否正在关闭该主窗体?

其次,如果表单是MdiParent,则必须将属性IsMdiContainer设置为true。

第三,我不会依赖Application.OpenForms [0],而是迭代它们并按名称选择正确的,如下所示:

FormCollection fc = Application.OpenForms;

foreach (Form frm in fc)
{
if (frm.Name == "Main Form")
    do what you need to do...
}

希望这有帮助。