C# Winform系统登录(登入/登出)架构设计
C# Winform系统登录(登入/登出)架构设计
一个简单的Login to MainForm架构,该示范程序演示了登录功能的设计,登入时状态显示,系统登出及初始化主窗体等功能,仅供参考。
登录界面:
主窗体:
部分源码如下:
Program.cs
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
//首先打开登陆窗体,登陆成功后初始化MDI主窗体
if (frmLogin.Login())
{
frmMain.CurrentMainForm.Show();//显示主窗体
Application.Run();
}
else//登录失败,退出程序
Application.Exit();
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
Login
private void btnLogin_Click(object sender, EventArgs e)
{
try
{
if (false == this.ValidateInput()) return;
this.Cursor = Cursors.WaitCursor;
this.SetButtonEnable(false);
this.Update();//必须
this.ShowLoginInfo("正在验证用户名及密码");
if (SystemSecure.Login(txtUID.Text, txtPWD.Text)) //调用系统安全管理模块登录方法
{
//
//授权成功, 下载用户权限数据.....
//
//登录成功,初始化主窗体,初始化进度在登录窗体的状态栏显示
IMainForm MDI = frmMain.CreateMainFormInsatance();
//MDI.InitUserInterface(new StatusBarMessage(lblLoading));
MDI.InitUserInterface(new LabelMessage(label3));
this.DialogResult = DialogResult.OK; //成功
this.Close(); //关闭登陆窗体
}
else
{
this.ShowLoginInfo("登录失败,请检查用户名和密码!");
Msg.Warning("登录失败,请检查用户名和密码!");
}
}
catch
{
this.SetButtonEnable(true);
this.ShowLoginInfo("登录失败,请检查用户名和密码!");
Msg.Warning("登录失败,请检查用户名和密码!");
}
this.Cursor = Cursors.Default;
}
MainForm.InitUserInterface
public void InitUserInterface(IMsg status)
{
//
//在这里初始化主窗体,如:加载模块,生成菜单,下载公共缓存数据等操作...
//
try
{
this.SuspendLayout();
status.ShowMessage("正在初始化用户界面...");
status.ShowMessage("正在加载模块...");
status.ShowMessage("正在生成菜单...");
status.ShowMessage("正在下载公共缓存数据...");
status.ShowMessage("加载主窗体完成.");
this.ResumeLayout();
}
catch (Exception ex)
{ Msg.ShowException(ex); }
}
MainForm.menuLogout_Click
private void menuLogout_Click(object sender, EventArgs e)
{
if (!Application.AllowQuit) return; //程序不允许退出
if (!Msg.AskQuestion("真的要登出吗?")) return;
try
{
if (this.AnyDataChanged())
{
Msg.Warning("系统检测到有数据窗体没有保存,不能登出!");
return;
}
this.Hide();
if (frmLogin.Login())
{
frmMain.DisposeOldForm();//关闭旧的主窗体,释放内存
frmMain.CurrentMainForm.Show();//显示登录窗体
}
GC.Collect();
}
catch (Exception ex)
{
Msg.ShowException(ex);
}
}

Source Code:
Winform程序实现系统登入/登出功能
登入(Login)登出(Logout)历史记录表增加IP字段
Winform界面开发框架之界面展示效果图|C/S框架网
塑胶板材行业ERP系统软件开发平台(VS2022+C#+Winform)
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
Winform开发框架成功案例 - 致远ERP-机械制造行业ERP系统
Winform三层架构软件开发平台(C#.NET开发)
信息系统开源框架 - 企业内信息系统应用架构(C#.NET+Winform)
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
物流运输管理系统TMS成功案例-CSFramework快速开发框架(Winform+C/S+SQLServer)
Winform企业级WCF快速开发框架平台(C/S架构+WCF+DevExpress+SQL多数据库)
Winform C/S架构软件用户授权注册系统V2.1新功能(2021版)
Winform三层架构教程,CS三层结构图及源码实例讲解
Winform程序扫码条码读取商品数据简单实现|C/S框架网
Winform界面权限控制原理|C/S框架网
企业ERP进销存财务系统开发框架及开发平台(Winform+C#.NET+SQLServer)
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
