一、重置工作目录为(接上一节)
git checkout -f chapter-01
二、数据库表结构
目录:$源码目录& / 资料 / GZFramework_System.pdm
数据库建模工具:PowerDesigner
数据库预览如下:
三、功能设计
使用代码生成器生成表dt_MyUser的Model结构
生成界面如下(注意红圈地方):
点击生成Mode结构并附加到项目GZFramework.Model中
代码生成器下载地址详见:
登陆框设计如下:
点击登陆以后跳转到frmMain窗体
其中主要代码DAL:
public class dalLogin { /// <summary> /// 验证用户名密码 /// </summary> /// <param name="User"></param> /// <param name="Pwd"></param> /// <param name="dr"></param> /// <returns></returns> public bool VerifyPwd(string User, string Pwd, out DataRow dr) { const string sql = "SELECT TOP 1 * FROM dbo.dt_MyUser WHERE [email protected] AND [Password][email protected]"; DbCommandBase cmd = DbCommandBuilderFactory.BuildCommandText(sql); cmd.AddParam("@Accound", SqlDbType.VarChar, 20, User); cmd.AddParam("@Pwd", SqlDbType.VarChar, Pwd); DataTable dt = cmd.GetTable(Global.SystemDataBase, "dt_MyUser"); dr = null; if (dt.Rows.Count > 0) { dr = dt.Rows[0]; return true; } return false; } }DAL层验证登陆代码
四、C# WinForm程序退出的方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
4.System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
关于 GZFramework.WinLibrary.SplashScreenServer.CloseForm();
显示长时间等待窗体:
可在frmMain的Load事件中添加长时间等待来模拟显示此窗体
private void frmMain_Load(object sender, EventArgs e) { Thread.Sleep(5000); GZFramework.WinLibrary.SplashScreenServer.CloseForm(); }
本节完整代码副本工作目录
git checkout -f chapter-03
GZFramework开发框架交流群:288706356
时间: 2024-10-09 14:32:41