博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform——用户登陆
阅读量:4921 次
发布时间:2019-06-11

本文共 2886 字,大约阅读时间需要 9 分钟。

 首先确定一个事情,登陆界面不是进程的主页面。也就是说,主进程首先加载的不是登陆页面。

1:首页建立个主页面MainForm。再建立个登陆页面LoginFrom。各自页面name属性设置为与类相同的名字。

2: 在主页面的初始化中加入如下代码: 

1 public MainForm()2         {3             InitializeComponent();4             LoginFrom lf = new LoginFrom();5             lf.ShowDialog();6             this.gbLogin.Text = "欢迎" + lf.userName;7         }
View Code

3:设计登陆页面:

     1: 首页 窗体属性 ControlBox 设置为false。StartPosition 设置为CenterScreen。

     2: 拽托控件设置页面。有登陆名,密码,登陆按钮即可。其中密码控件的属性passwordchar 设置为*。

     3:添加登陆按钮点击事件。代码如下:   

1         private void btnLogin_Click(object sender, EventArgs e) 2         { 3             if (string.IsNullOrEmpty(tbUserName.Text.Trim()) || string.IsNullOrEmpty(tbPassword.Text.Trim())) 4             { 5                 MessageBox.Show("账户密码不能为空!"); 6             } 7             else 8             { 9                 BLL.UserBLL userbll = new BLL.UserBLL();10                 if (userbll.UserLogin(tbUserName.Text.Trim(), tbPassword.Text.Trim()))11                 {12                     userName = tbUserName.Text.Trim();13                     this.Close();14                 }15                 else16                 {17                     MessageBox.Show("登陆失败!账户密码错误!");18                 }19             }20         }
View Code

 其中BLL为业务逻辑层。主要操作数据库链接。

4:登陆成功后,要在主页面显示登陆的用户名。这就牵扯到了跨窗体数据传输。这里使用最简单的,在登陆窗体定义

      public string userName;然后主船体访问。

5: BLL代码如下:

       

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6  7 namespace BLL 8 { 9     public class UserBLL10     {11         private EFSql.SqlDbContext _context;12         public UserBLL()13         {14             if (_context == null)15             {16                 _context = new EFSql.SqlDbContext();17             }18         }19 20         public bool UserLogin(string name, string password)21         {22             Model.UserInfo user = _context.UserInfos.Where(p => p.userName == name && p.userPassword == password).FirstOrDefault();23             if (user != null)24             {25                 user.lastLoginTime = DateTime.Now;26                 _context.SaveChanges();27                 return true;28             }29             else30             {31                 return false;32             }33         }34 35         public bool AddUser(string name, string password)36         {37             Model.UserInfo user = new Model.UserInfo();38             user.userCode = Guid.NewGuid().ToString().Replace("-","");39             user.userName = name;40             user.userPassword = password;41             _context.UserInfos.Add(user);42             _context.SaveChanges();43             return true;44         }45 46         public List
GetUserList(string pwd)47 {48 return _context.UserInfos.AsNoTracking().ToList();49 }50 }51 }
View Code

 

转载于:https://www.cnblogs.com/duchyaiai/p/8391362.html

你可能感兴趣的文章
Python的math模块
查看>>
Linux下gcc相关
查看>>
获取URL的参数
查看>>
iphone真机(越狱)通讯录导入进模拟器
查看>>
剑指offer-删除链表中重复的结点
查看>>
mybatis自动生成mapper,dao映射文件
查看>>
IntelliJ IDEA 注册码
查看>>
C 调用数学函数pow时遇到 undefined reference [已解决]
查看>>
IDEA01 创建java项目、创建web项目
查看>>
Springboot21 整合redis、利用redis实现消息队列
查看>>
AJAX 总结
查看>>
[转]WPF中对Excel文件的导入导出操作详解
查看>>
导出模块化使用手册
查看>>
rabbitmq在storm中使用
查看>>
面向对象:抽象类,继承的实现原理,封装
查看>>
.net System.IO.Stream 流操作类(FileStream等)
查看>>
redis内存监控与回收
查看>>
Python str 与 bytes 类型 之间的转换
查看>>
unity 3d 解析 json
查看>>
POJO/javaBean/springBean
查看>>