WinFrom 登陸窗體 密碼保存效果

        WinFrom 登陸窗體 保存密碼效果 開發CS程序的程序員都會遇到 今天忽然想把這個功能加到個人項目中 以後總結下 很少說 上圖程序員

   

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

一、User 類spa

 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     }

二、DisplayUserInfo 方法code

 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

三、窗體 Load 事件orm

 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         }

四、登陸按鈕 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         } 

五、用戶名下拉框 SelectedIndexChanged 事件blog

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

六、用戶名下拉框 TextChanged事件事件

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

以上 就是 WinForm 保存密碼 功能的全部代碼 ip

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

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

相關文章
相關標籤/搜索