按照原来的想法,在登录按钮Click事件中添加代码
FrmMain fm= new FrmMain();
Fm.Show();
this.Close();
但事实证明这个是行不通的。因为主窗口是由登录窗口打开的,所欲我们关闭登录窗口时,主窗口也会被一起关闭。
还有会想到让登录窗口隐藏起来使用 this.Hide();
但是这会使得这个程序无法从任务栏中关闭,只有从任务管理器中关闭。非常的不便利。
解决方法:
1、在Program.cs中代码为:
也可简写为:
FrmLogin frmlogin = new FrmLogin();
if (frmlogin.ShowDialog() == DialogResult.OK)
Application.Run(new FrmMain());
先将登录窗口作为一个对话框打开,如果这个对话框返回一个DialogResult.OK的值,那么就标识登录验证成功了,于是打开主窗体。
2、在登录窗体FrmLogin中 登录按钮Click事件中代码为:
//验证的账号、密码、验证码正确时
this.DialogResult=DialogResult.OK;
this.Close();