首先明确this.Hide()和this.Visible作用完全一样,都是隐藏当前窗体,使其不可见;Application.Exit与this.Close()虽然都有关闭当前应用的作用,但作用不同。
(1)this.Hide()与this.Visible
对于.net平台窗体开发,当由代码 Form f=new Form();f.show()创建窗体时,需要隐藏当前窗体,我们第一想到的就是this.Close();然而这样是关闭当前进程,相当于 Application.Exit();正确的处理方法是f.Hide()或f.Visible=false;前者的作用和后者没任何差别,只是hide函数通过函数体修改Visible属性而已。
public void Hide()
{
this.Visible=false;
}
(2)Application.Exit与this.Close()
Application.Exit 方法:通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。
Form.Close 方法:关闭窗体。
如果该窗体是应用程序的主启动窗体,则調用窗体的Close()方法,跟調用Application.Exit的效果差不多。
如果该窗体非主启动窗体,则只是关闭该窗体而不关闭整个应用程序。
同时要注意它们在多线程应用程序中的用法,注意线程的关闭工作,此处不详细展开。