目前我正在研究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();
}
答案 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();
。
我希望这会有所帮助。