繁体   English   中英

如何关闭当前窗体 Winform C#

[英]How to close current form Winform C#

我有一个 MDIParent 并且我打开了一个子窗口。 如果单击按钮,我需要关闭当前父级。 所以我试过下面的代码

private void button_log_Click(object sender, EventArgs e)
    {
        MDIParent_Main obj = new MDIParent_Main(textBox_username.Text);
            obj.Show();
            this.Close();
     }

问题是它同时关闭 MDIParent_Main 和子窗体。 我的错误在哪里?

您遇到的问题是您的 MDIParent 表格是主要的申请表格。 当您关闭它时,应用程序将结束并带有子窗口,请参阅此问题以获取更多详细信息。

一种被广泛接受的解决方案是隐藏父表单,直到子表单也关闭。 一旦孩子被关闭,你就可以关闭父母。

// code taken from referenced question
private void btnOpenForm_Click(object sender, EventArgs e)
{
    Form2 frm2 = new Form2();
    frm2.FormClosed += new FormClosedEventHandler(frm2_FormClosed);
    frm2.Show();
    this.Hide();
}


private void frm2_FormClosed(object sender, FormClosedEventArgs e)
{
    this.Close();
}

你不能那样做。 您必须首先打开 mdipather,然后显示()登录表单,然后在验证时关闭登录表单

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM