記住密碼超簡單實現(C#)


實現效果如下

實現過程

 [Serializable]
    class User
    {
        //記住密碼
        private string loginID;
        public string LoginID
        {
            get { return loginID; }
            set { loginID = value; }
        }

        private string pwd;
        public string Pwd
        {
            get { return pwd; }
            set { pwd = value; }
        }
       
    }

首先新建一個實體類,創建兩個字段並封裝成對應屬性

                    User user = new User();
                    // 登錄時 如果沒有Data.bin文件就創建、有就打開
                    FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
                    BinaryFormatter bf = new BinaryFormatter();
                    // 保存在實體類屬性中
                    user.LoginID = comboBoxEx1.Text.Trim();
                    //保存密碼選中狀態
                    if (checkBoxXUser.Checked)
                        user.Pwd = passWordtext.Text.Trim();
                    else
                        user.Pwd = "";
                    //選在集合中是否存在用戶名 
                    if (users.ContainsKey(user.LoginID))
                    {
                        //如果有清掉
                        users.Remove(user.LoginID);
                    }
                    //添加用戶信息到集合
                    users.Add(user.LoginID, user);
                    //寫入文件
                    bf.Serialize(fs, users);
                    //關閉
                    fs.Close();

然后對選中按鈕做判斷是否選中,若選中則將用戶信息添加到集合中。最后記得關閉文件的讀寫操作~,到這里已經完成了保存用戶信息到集合中了。是不是超簡單,不過還沒有完。因為我們上面只是保存,我們需要打開窗體或者頁面的時候,是需要將用戶信息再次

讀取出來的。所以下面將是對用戶信息的讀操作

            //讀取文件流對象
            FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
            if (fs.Length > 0)
            {
                BinaryFormatter bf = new BinaryFormatter();
                //讀出存在Data.bin 里的用戶信息
                users = bf.Deserialize(fs) as Dictionary<string, User>;
                //循環添加到Combox1
                foreach (User user in users.Values)
                {
                    comboBoxEx1.Items.Add(user.LoginID);
                }

                //combox1 用戶名默認選中第一個
                if (comboBoxEx1.Items.Count > 0)
                    comboBoxEx1.SelectedIndex = comboBoxEx1.Items.Count - 1;
            }
            fs.Close();

讀的話比較簡單,就不一一解釋了,相信各位能看明白,另外,當中需要引用到的類庫是

using System.Runtime.Serialization.Formatters.Binary;

using System.Threading;  

 


免責聲明!

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



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