zoukankan      html  css  js  c++  java
  • dat保存登陆密码

    winform--记住密码 收藏

    要引用IO包

    private string accountFilePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) +"\\accounts.dat ";

    private IDictionary<string, string> accounts = new SortedList<string, string>();

    /// <summary>
    /// 记住密码
    /// </summary>
    private void ReloadAccounts()
    {
    this.txtUserName.AutoCompleteCustomSource.Clear();
    accounts.Clear();
    if (!File.Exists(accountFilePath))
    {
    return;
    }
    using (StreamReader reader = new StreamReader(accountFilePath))
    {
    while (true)
    {
    string username = reader.ReadLine();
    if (string.IsNullOrEmpty(username)) break;
    string password = reader.ReadLine();
    if (string.IsNullOrEmpty(password)) break;
    accounts.Add(username, password);
    txtUserName.AutoCompleteCustomSource.Add(username);
    }
    }
    }

    /// <summary>
    /// 登录事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btnLogin_Click(object sender, EventArgs e)
    {
    if (accounts.ContainsKey(this.txtUserName.Text))
    {
    accounts[
    this.txtUserName.Text] = this.txtUserPass.Text;
    }
    else
    {
    accounts.Add(
    this.txtUserName.Text, this.txtUserPass.Text);
    }

    using (StreamWriter writer = new StreamWriter(accountFilePath))
    {
    foreach (KeyValuePair<string, string> account in accounts)
    {
    writer.WriteLine(account.Key);
    writer.WriteLine(account.Value);
    }
    }

    ReloadAccounts();

    string user = this.txtUserName.Text.Trim();
    //加密
    string bbb = Crypto.EncryptData("jm", this.txtUserPass.Text.Trim());
    string pwd = bbb;

    string filter = "username='" + user + "'" + " and password='" + pwd + "'";

    DataTable loginTable
    = manager.selectAll("userlist", "*", filter);

    if (this.txtUserName.Text.Trim() == "" || bbb == "")
    {
    MessageBox.Show(
    "用户名或密码不能为空!");
    this.txtUserName.Focus();
    }
    else if (loginTable.Rows.Count == 0)
    {
    MessageBox.Show(
    "用户名或密码错误!");
    this.txtUserName.Focus();
    }
    else
    {
    MessageBox.Show(
    "登录成功!");
    }
    }

    //当鼠标离开用户名时自动获得密码
    private void txtUserName_Leave(object sender, EventArgs e)
    {
    string password = string.Empty;
    if (accounts.TryGetValue(this.txtUserName.Text, out password))
    this.txtUserPass.Text = password;
    }



    本文来自CSDN博客,转载请标明出处:http:
    //blog.csdn.net/zhangjianjianjianjia/archive/2009/11/06/4776397.aspx
  • 相关阅读:
    [leetcode] 110. 平衡二叉树
    [leetcode] 109. 有序链表转换二叉搜索树
    [leetcode] 108. 将有序数组转换为二叉搜索树
    [leetcode] 107. 二叉树的层次遍历 II
    [leetcode] 106. 从中序与后序遍历序列构造二叉树
    [leetcode] 105. 从前序与中序遍历序列构造二叉树
    [leetcode] 111. 二叉树的最小深度
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/longle/p/2072921.html
Copyright © 2011-2022 走看看