关闭MDI子节点

本文关键字:子节点 MDI 关闭 | 更新日期: 2023-09-27 18:18:24

嗨,我目前正在开发一个MDI应用程序。在这个应用程序中,我的主要表单是MDI Parent表单。通过它我可以找到MDI的孩子。现在,当子窗体中的所有功能完成后,有一个消息框,在确定单击消息框时,我的子窗体应该关闭,我应该转到主窗体。我的子表单要关闭了。但是正在发生的事情是为了获得主表单,我正在创建父表单的新实例。大概有两种主要形式。这是代码,请帮助。

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();
}

关闭MDI子节点

你要做的是在MainForm

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

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

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();