WinForm中的登录实现
程序员文章站
2023-11-12 23:36:10
在一般的c/s系统中,登录功能基本上是必备功能, 总结了三种c# winform登录功能的实现方法。 第一种:在应用程序设置代码里(program.cs)将应用程序入口改成...
在一般的c/s系统中,登录功能基本上是必备功能,
总结了三种c# winform登录功能的实现方法。
第一种:在应用程序设置代码里(program.cs)将应用程序入口改成系统主窗口
听起来有点绕,就是说,在应用程序初始化时,第一个加载的页面是我们登录后的主页面。
1、在program.cs文件中设置application.run:
application.run(new formmain());//设置应用程序运行时加载的窗口
2、添加登录按钮事件private void button1_click(object sender, eventargs e)代码
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加载时事件代码
private void main_load(object sender, eventargs e)
{
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()。
代码如下:
form formlogin = new login();
formlogin.showdialog();
if (formlogin.dialogresult == dialogresult.ok)
{
application.run(new formmain());
}
else
{
return;
}
这种方法的原理理解起来相对第一种来说要简单些,在应用程序初始化时,首先加载登录窗口并进行验证,只有验证通过才run(new formmain());
第三种:在通过登录验证后,直接将登录框隐藏(注是隐藏,this.hide()而不是this.close())。这种方法理解起来就更简单了。
总结了三种c# winform登录功能的实现方法。
第一种:在应用程序设置代码里(program.cs)将应用程序入口改成系统主窗口
听起来有点绕,就是说,在应用程序初始化时,第一个加载的页面是我们登录后的主页面。
1、在program.cs文件中设置application.run:
复制代码 代码如下:
application.run(new formmain());//设置应用程序运行时加载的窗口
2、添加登录按钮事件private void button1_click(object sender, eventargs e)代码
复制代码 代码如下:
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加载时事件代码
复制代码 代码如下:
private void main_load(object sender, eventargs e)
{
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()。
代码如下:
复制代码 代码如下:
form formlogin = new login();
formlogin.showdialog();
if (formlogin.dialogresult == dialogresult.ok)
{
application.run(new formmain());
}
else
{
return;
}
这种方法的原理理解起来相对第一种来说要简单些,在应用程序初始化时,首先加载登录窗口并进行验证,只有验证通过才run(new formmain());
第三种:在通过登录验证后,直接将登录框隐藏(注是隐藏,this.hide()而不是this.close())。这种方法理解起来就更简单了。