-
C#教程之WinForm中的登录实现
在一般的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())。这种方法理解起来就更简单了。
最新更新
Objective-C语法之代码块(block)的使用
VB.NET eBook
Add-in and Automation Development In VB.NET 2003 (F
Add-in and Automation Development In VB.NET 2003 (8
Add-in and Automation Development in VB.NET 2003 (6
Add-in and Automation Development In VB.NET 2003 (5
AddIn Automation Development In VB.NET 2003 (4)
AddIn And Automation Development In VB.NET 2003 (2)
Addin and Automation Development In VB.NET 2003 (3)
AddIn And Automation Development In VB.NET 2003 (1)
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
武装你的WEBAPI-OData入门
武装你的WEBAPI-OData便捷查询
武装你的WEBAPI-OData分页查询
武装你的WEBAPI-OData资源更新Delta
5. 武装你的WEBAPI-OData使用Endpoint 05-09
武装你的WEBAPI-OData之API版本管理
武装你的WEBAPI-OData常见问题
武装你的WEBAPI-OData聚合查询
OData WebAPI实践-OData与EDM
OData WebAPI实践-Non-EDM模式