我目前正在使用连接到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,但找不到任何有用的内容。
答案 0 :(得分:2)
Hide就是这样,它隐藏了它,它仍然存在。
所以是的,你需要关闭它,但是,如果你在下一个之前关闭它,那么代码就有可能从那里出来并且没有完成任何后续代码。
将代码重新排列到
frmMain fMain = new frmMain();
fMain.MdiParent = this.MdiParent;
fMain.Show();
this.Close();
应该工作