关闭MDI孩子

时间:2013-06-13 08:56:33

标签: c# winforms mdi

目前我正在研究MDI应用程序。在此应用程序中,我的主要表单是MDI Parent表单。通过whihc我去MDI Child.now当子表单中的所有功能都完成后,有一个消息框,在OK消息框上点击我的Child表单应该关闭,我应该转到主表单。我的子表单是closing.but发生了什么是进入主窗体我正在创建父窗体的新实例。所以有2个主窗体打开。 这是代码请帮助。

private void btnsave_Click_1(object sender, EventArgs e)
{
    DialogResult dialogResult = 
        MessageBox.Show("record saved", "requisition", MessageBoxButtons.OK, MessageBoxIcon.Information);
    if (dialogResult == DialogResult.OK)
    {

        //frmmain main = new frmmain();
        //main.Show();
        this.Close();
    }
    else
        MessageBox.Show("error", "requisition", MessageBoxButtons.OK, MessageBoxIcon.Error);
    conn.Close();
}

1 个答案:

答案 0 :(得分:0)

您想要做的是MainForm

using (MdiChildForm form = new MdiChildForm())
{
    form.Showdialog();
}

要在单击MdiChildForm okay按钮后关闭MessageBox,请在某个事件处理程序中

DialogResult dlgRes = MessageBox.Show("record saved", "requisition", 
    MessageBoxButtons.OK, MessageBoxIcon.Information);
if (dlgRes == DialogResult.OK)
    this.Close();

这会将控件返回MainForm。它是如此简单。如果你得到两个MainForm,那么有些东西你没有告诉我们。如果MainForm被隐藏,即您在某个时间点mainForm.Hide();,那么在关闭MdiChild之前,请执行this.MdiParent.Show();

我希望这会有所帮助。