winforms窗体关闭问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:27:28
Application.Run(new frm_login());
frm_login为登陆窗口
frm_Main为主窗口
login登陆以跳转主窗口
frm_login.Close()以后主窗口也关闭了
隐藏后关闭程序又浪费资源
请教各位如何解决

Application.Run(new frm_login()); //从主窗体启动
protected override void OnLoad(EventArgs e)
{
this.Hide();//隐藏主窗体
frm_Login frm = new frm_Login();
frm.ShowDialog();//显示登录窗口,登录成功以后给SSS_Data类的userName 静态变量赋值,并关闭窗口。
if (SSS_Data.userName != null))
//程序能走到这里说明登录窗口绝对已经关闭(包括程序关闭和用户关闭
{
this.Show();
//登录成功
}
else
{
//绝对是用户关闭登录窗体,所以主窗体也关闭
this.Close();
}
base.OnLoad(e);
} 我一直都这么写哈!很好用!注释的够清楚了吧!

frm_login中登录成功后:

frm_Main fm=new frm_Main();
fm.Show();
this.Visible=false;

Application.Run(frm_Main)

frm_Main的构造或初始化的地方调用frm_login,frm_login关闭后继续执行frm_Main

你可以frm_login.Validate=false;//隐藏这个窗体

主要是你的启