WinFrom 登錄窗體 密碼保存效果


        WinFrom 登錄窗體 保存密碼效果 開發CS程序的程序員都會遇到 今天突然想把這個功能加到我的項目中 之后總結下 不多說 上圖

   

  如果關閉程序 下次在登錄的時候 用戶名、密碼會自動保留下來  一個類(User)  一個方法(DisplayUserInfo)   代碼分為4個事件  

1、User 類

 1   [Serializable]
 2    public class User
 3     {
 4 
 5        private string loginID;
 6        public string LoginID 
 7        {
 8            get { return loginID; }
 9            set { loginID = value; }
10        }
11 
12        private string pwd;
13        public string Pwd
14        {
15            get { return pwd; }
16            set { pwd = value; }
17        }
18     }

2、DisplayUserInfo 方法

 1    //顯示用戶所對應匹配的信息
 2         private void DisplayUserInfo()
 3         {
 4 
 5             string key = combox1.Text.Trim();
 6             //查找用戶Id
 7             if (users.ContainsKey(key) == false)
 8             {
 9                 txtPwd.Text = "";
10                 return;
11             }
12             //查找到賦值
13             User user = users[key];
14             txtPwd.Text = user.Pwd;
15             // 如有有密碼 選中復選框
16             chkcaes.Checked = txtPwd.Text.Trim().Length > 0 ? true : false;
17         }
View Code

3、窗體 Load 事件

 1         Dictionary<string, User> users = new Dictionary<string, User>();
 2         private void frmMain_Load(object sender, EventArgs e)
 3         {
 4             //讀取文件流對象
 5             FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
 6             if (fs.Length > 0)
 7             {
 8                 BinaryFormatter bf = new BinaryFormatter();
 9                 //讀出存在Data.bin 里的用戶信息
10                 users = bf.Deserialize(fs) as Dictionary<string, User>;
11                 //循環添加到Combox1
12                 foreach (User user in users.Values)
13                 {
14                     combox1.Items.Add(user.LoginID);
15                 }
16 
17                 //combox1 用戶名默認選中第一個
18                 if (combox1.Items.Count > 0)
19                     combox1.SelectedIndex = combox1.Items.Count-1;
20             }
21             fs.Close();
22         }

4、登錄按鈕 Click 事件

 1    private void butOK_Click(object sender, EventArgs e)
 2         {
 3             User user = new User();
 4             // 登錄時 如果沒有Data.bin文件就創建、有就打開
 5             FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
 6             BinaryFormatter bf = new BinaryFormatter();
 7             // 保存在實體類屬性中
 8             user.LoginID = combox1.Text.Trim();
 9             //保存密碼選中狀態
10             if (chkcaes.Checked)
11                 user.Pwd = txtPwd.Text.Trim();
12             else
13                 user.Pwd = "";
14             //選在集合中是否存在用戶名 
15             if (users.ContainsKey(user.LoginID))
16             {
17                 //如果有清掉
18                 users.Remove(user.LoginID);
19             }
20             //添加用戶信息到集合
21             users.Add(user.LoginID, user);
22             //寫入文件
23             bf.Serialize(fs, users);
24             //關閉
25             fs.Close();
26             MessageBox.Show("保存密碼成功!請關閉窗體看效果");
27         } 

5、用戶名下拉框 SelectedIndexChanged 事件

1  //當用戶名下拉選項發生改變時 
2         private void combox1_SelectedIndexChanged(object sender, EventArgs e)
3         {
4             DisplayUserInfo();
5         }

6、用戶名下拉框 TextChanged事件

1  //當用戶名文本發生改變時 
2         private void combox1_TextChanged(object sender, EventArgs e)
3         {
4             DisplayUserInfo();
5            
6         }

以上 就是 WinForm 保存密碼 功能的所有代碼 

 Demo地址:http://files.cnblogs.com/yhyjy/%E8%AE%B0%E4%BD%8F%E5%AF%86%E7%A0%81.zip

以上供新手參考 如有好的方式 請留下您寶貴的思想與建議


免責聲明!

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



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