zoukankan      html  css  js  c++  java
  • 记住密码超简单实现(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;  

  • 相关阅读:
    SharePoint开发中可能用到的各种Context(上下文)
    SharePoint 2013中的视频体验增强(1)——把大象装进冰箱
    SharePoint 2013之Office Web Apps Server(1)
    Office 2013 (Wave 15)来了
    SharePoint 2013新特性:图像呈现形式(Image Rendition)
    SharePoint 2013之Office Web Apps Server(2)
    在自己的代码中获取SharePoint的存储占用情况
    Showing Hyperlink Cues with CSS
    (翻译) 价目表:实例和最佳策略
    用CSS制作大背景网站,以及80个大背景图片网站。
  • 原文地址:https://www.cnblogs.com/zhangxiaoyong/p/5435912.html
Copyright © 2011-2022 走看看