歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C#超簡單實現記住密碼

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; 

Copyright © Linux教程網 All Rights Reserved