C# winform 登录 实现自动登录 和记住密码功能

登录界面如下  

配置文件如下  在App.config下 写个<appSettings>节点  照着我的写就行了

单击登录时 

  Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            if (IsLogin.Checked)
            {
                cfa.AppSettings.Settings["autologin"].Value = "true";
                cfa.AppSettings.Settings["rememberme"].Value = "true";
                cfa.AppSettings.Settings["name"].Value = name.Text;
                cfa.AppSettings.Settings["password"].Value = password.Text;
                cfa.Save();
            }
            else {
                if (IsPassword.Checked)
                {
                    cfa.AppSettings.Settings["autologin"].Value = "false";
                    cfa.AppSettings.Settings["rememberme"].Value = "true";
                    cfa.AppSettings.Settings["name"].Value = name.Text;
                    cfa.AppSettings.Settings["password"].Value = password.Text;
                    cfa.Save();
                }
                else
                {
                    cfa.AppSettings.Settings["autologin"].Value = "false";
                    cfa.AppSettings.Settings["rememberme"].Value = "false";
                    cfa.AppSettings.Settings["name"].Value = "";
                    cfa.AppSettings.Settings["password"].Value = "";
                }
            }
            cfa.Save();

最后写到 文件 WindowsFormsApp1\WindowsFormsApp1\bin\Debug  下的 WindowsFormsApp1.exe.Config  我的是这个目录 你们自己找下自己的目录下的这个文件 看有没有信息

然后就是窗体加载事件里边写

            //如果记住密码为true 那么把值 赋值给文本框
            if (ConfigurationManager.AppSettings["rememberme"].Equals("true"))
            {
                name.Text = ConfigurationManager.AppSettings["name"];
                password.Text = ConfigurationManager.AppSettings["password"];
                IsPassword.Checked = true;
            }
            //如果是自动登录  那么拿获取 配置文件中的账号密码  然后到数据库里边查询 登录
            if (ConfigurationManager.AppSettings["autologin"].Equals("true")) {
                IsLogin.Checked = true;
            }

注意: 需要添加引用:引入System.Configuration

WinForm实现记住密码自动登录功能,需要将用户输入的账号和密码保存到本地,下次启动程序时自动读取已保存的信息进行登录。以下是一个简单的实现步骤: 1. 在登录页面添加“记住密码”和“自动登录”选项,并将用户输入的账号和密码保存到本地,可以使用配置文件、注册表、数据库等方式进行存储。 2. 在程序启动时检查本地是否保存了用户登录信息,如果有则自动填充账号和密码,并触发登录按钮的 Click 事件进行自动登录。 3. 在用户手动退出登录时,清除本地保存的登录信息。 下面是一个示例代码: ```csharp private void LoginForm_Load(object sender, EventArgs e) { // 读取保存的登录信息 if (Properties.Settings.Default.RememberMe) { txtUsername.Text = Properties.Settings.Default.Username; txtPassword.Text = Properties.Settings.Default.Password; chkRememberMe.Checked = true; } if (Properties.Settings.Default.AutoLogin) { btnLogin.PerformClick(); } } private void btnLogin_Click(object sender, EventArgs e) { // 登录验证 if (ValidateUser(txtUsername.Text, txtPassword.Text)) { // 保存登录信息 if (chkRememberMe.Checked) { Properties.Settings.Default.Username = txtUsername.Text; Properties.Settings.Default.Password = txtPassword.Text; Properties.Settings.Default.RememberMe = true; Properties.Settings.Default.Save(); } else { Properties.Settings.Default.Username = ""; Properties.Settings.Default.Password = ""; Properties.Settings.Default.RememberMe = false; Properties.Settings.Default.Save(); } if (chkAutoLogin.Checked) { Properties.Settings.Default.AutoLogin = true; Properties.Settings.Default.Save(); } // 登录成功 this.DialogResult = DialogResult.OK; } else { // 登录失败 MessageBox.Show("登录失败,请检查账号和密码是否正确。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void btnLogout_Click(object sender, EventArgs e) { // 清除登录信息 Properties.Settings.Default.Username = ""; Properties.Settings.Default.Password = ""; Properties.Settings.Default.RememberMe = false; Properties.Settings.Default.AutoLogin = false; Properties.Settings.Default.Save(); // 退出登录 this.DialogResult = DialogResult.Cancel; } ``` 其中,Properties.Settings.Default 是一个应用程序配置文件,用于保存应用程序的配置信息。ValidateUser() 方法用于验证用户输入的账号和密码是否正确。需要注意的是,在实现自动登录功能时,需要先实现记住密码功能,否则自动登录时无法读取到密码信息。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值