在写Winform程序的时候,经常会遇到“打开一个新的窗体然后关闭本窗体”之类的问题。最常见的就是登陆界面和主窗体了。而最常见的处理方法就是表单判断正确后 new MainForm().Show();
private void btnLogin_Click(object sender, EventArgs e) { if (登陆成功) { MainForm main = new MainForm(); main.Show(); this.Close(); } else { MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
根据网友们的推荐,还有另一种实现方法,这种方法实现也很简单,只是多了几行代码而已。
创建好Login和MainForm窗体,Login窗体有两个Button按钮,分别是登陆(btnLogin)和退出(btnExit)。并将Login窗体的AcceptButton属性指向“登陆”按钮btnLogin
在Program.cs下的Main函数里面添加如下代码:
Login myLogin = new Login(); if (myLogin.ShowDialog() == DialogResult.OK) { Application.Run(new MainForm()); }
在Login窗体的登陆按钮事件中添加如下代码:
private void btnLogin_Click(object sender, EventArgs e) { if (登陆成功) { this.DialogResult = DialogResult.OK; } else { MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }