如何正确关闭c#表单

时间:2017-11-23 09:43:39

标签: c# .net winforms

我目前正在使用连接到Web服务的c#桌面应用程序。在其中一个表单中,我想在单击后退按钮时关闭表单。我这样做了:

private void bBack_Click(object sender, EventArgs e)
{
    //this.Hide();
    this.Close();
    frmMain fMain = new frmMain();
    fMain.MdiParent = this.MdiParent;
    fMain.Show();
}

当我使用this.Hide()时,我想关闭的表单似乎仍然在后台运行,因此仍然可以联系Web服务。

当我使用this.Close()时,表单似乎已关闭且未与Web服务建立联系,但我的桌面应用程序突然全屏显示,并在新窗口中打开frmMain

我已阅读显示的文档here,但找不到任何有用的内容。

1 个答案:

答案 0 :(得分:2)

Hide就是这样,它隐藏了它,它仍然存在。

所以是的,你需要关闭它,但是,如果你在下一个之前关闭它,那么代码就有可能从那里出来并且没有完成任何后续代码。

将代码重新排列到

frmMain fMain = new frmMain();
fMain.MdiParent = this.MdiParent;
fMain.Show();
this.Close();

应该工作