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;
- }
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · The instance of entity type ‘Customer’ cannot be tracked because another instance with the same key value for {‘Id’} is already being tracked.
- · .NET8实时更新nginx ip地址归属地
- · 解决.NET Blazor子组件不刷新问题
- · .NET8如何在普通类库中引用 Microsoft.AspNetCore
- · .NET8 Mysql SSL error
- · ASP.NET Core MVC的Razor视图渲染中文乱码的问题
- · .NETCORE 依赖注入服务生命周期
- · asp.net zero改mysql
- · .NET5面试汇总
- · .Net连接Mysql数据库的Convert Zero Datetime日期问题
- · vue使用element-ui中的Message 、MessageBox 、Notification
- · Asp.Net Core Filter 深入浅出的那些事-AOP