----------------转载----------------------
方法一:
在应用程序设置代码里(Program.cs)将应用程序入口改成系统主窗口,即在应用程序初始化时,第一个加载的页面为登录后的主页面。
1、在Program.cs文件中设置Application.Run:
Application.Run(new FormMain());//设置应用程序运行时加载的窗口
2、添加登录按钮事件private void button1_Click(object sender, EventArgs e)代码
{
if (this.textBoxPassword.Text == "")
{
MessageBox.Show("请输入密码!");
}
else if (this.textBoxUsername.Text=="123" && this.textBoxPassword.Text == "123")
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show("Username or Password Error");
}
}
3、添加主窗口formMain加载时事件代码
{
Form formLogin = new login();
formLogin.ShowDialog();
if (formLogin.DialogResult == DialogResult.OK)//如果登录框返回DialogResult.OK
{
MessageBox.Show("正常登录");
}
else
{
this.Close();
}
}
解析:
首先,程序load主窗口formMain,这时formMain就会new一个login登录窗口并弹出窗口,然后关闭自身。
在登录窗口验证用户名和密码后通过登录窗口的this.DialogResult = DialogResult.OK;并关闭登录框。
关闭以后formMain的main_Load事件再次判断登录框的DialogResult是否是OK,如果是则加载主窗口。
方法二:
通过登录验证来控制是否是否执行Application.Run()。
formLogin.ShowDialog();
if (formLogin.DialogResult == DialogResult.OK)
{
Application.Run(new formMain());
}
else
{
return;
}
解析:
在应用程序初始化时,首先加载登录窗口并进行验证,只有验证通过才Run(new formMain());
方法三:
通过登录验证后,直接将登录框隐藏(注是隐藏,this.Hide()而不是this.Close())。
有了以上的三种方法,相信大家在实现c# winform登录功能会多了一些参考,祝大家学习进步。