Winform——用戶登陸


 首先確定一個事情,登陸界面不是進程的主頁面。也就是說,主進程首先加載的不是登陸頁面。

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                 else
16                 {
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 UserBLL
10     {
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             else
30             {
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<Model.UserInfo> GetUserList(string pwd)
47         {
48             return _context.UserInfos.AsNoTracking().ToList();
49         }
50     }
51 }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM