-2

嗨,目前我正在开发一个 MDI 应用程序。在这个应用程序中,我的主要表单是 MDI 父表单。通过 whihc 我去 MDI Child.now 当子窗体中的所有功能都完成时,有一个消息框,然后单击消息框的确定,我的子窗体应该关闭,我应该转到主窗体。我的子窗体是关闭。但是发生的事情是为了进入主窗体,我正在创建父窗体的新实例。所以有 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();
}
4

1 回答 1

0

你想做的是在MainForm

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

要在单击确定按钮MdiChildForm后关闭,在您想要的某些事件处理程序中MessageBox

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

这会将控制权返回给MainForm. 它是如此简单。如果您得到两个MainForms,则说明您没有告诉我们一些事情。如果MainForm是隐藏的,也就是说,你mainForm.Hide();在某个时候做,那么在你关闭之前MdiChild,做this.MdiParent.Show();

我希望这有帮助。

于 2013-06-13T09:06:01.117 回答