C

雅轩聊科技 2024-07-27 02:53:37

哈喽,你好啊,我是雷工!

本节记录密码修改功能,为了保证账号的安全性,不定时的修改密码是必要操作;

以下为练习笔记。

01 效果演示

1.1、未输入原密码时

1.2、未输入新密码时

1.3、未输入新密码确认时

1.4、两次输入的密码不一致时

1.5、密码修改成功

02 添加窗体

添加一个密码修改窗体命名为:FrmChangePwd;

然后开始添加背景素材,添加控件布局,UI效果如下图所示:

主要控件及属性设置如下表:

控件名称

设置属性

属性值

备注

Lable1

Text

原密码:

BackColor

Transparent

背景设置为透明

Lable2

Text

新密码:

Lable3

Text

新密码确认:

TextBox1

BackColor

FixedSingle

(name)

txtOldPwd

原密码框名

TextBox2

BackColor

FixedSingle

(name)

txtNewPwd

新密码密码框名称

UseSystemPasswordChar

True

密码框非明文

TextBox3

BackColor

FixedSingle

(name)

txtVerifyPwd

新密码密码框名称

Button1

FlatStyle

Flat

设置无边框

Text

确认修改

BackColor

Highlight

设置背景色

ForeColor

White

设置字体文本色

(name)

btnChange

确认修改按钮名

Button2

FlatStyle

Flat

设置无边框

Text

取消

(name)

btnCancel

取消按钮名

03 修改方法

首先在管理数据访问类SysAdminService中添加修改密码的方法。

代码如下:

/// <summary>/// 修改登录密码/// </summary>/// <param name="objAdmin"></param>/// <returns></returns>/// <exception cref="Exception"></exception>public int ChangePwd(SysAdmin objAdmin){ string sql = "update Admins set LoginPwd='{0}' where LoginId={1}"; sql = string.Format(sql, objAdmin.LoginPwd, objAdmin.LoginId); try { return SQLHelper.Update(sql); } catch (Exception ex) { throw new Exception("修改密码出现数据访问错误:" + ex.Message); }}04 确认修改按钮

3.1、添加事件

双击【确认修改】按钮,添加对应事件,

3.2、事件思路

①信息验证,输入信息非空验证,一致性验证,长度验证;

②调用相应方法修改密码;

3.3、事件代码

//密码修改private void btnChange_Click(object sender, EventArgs e){ #region 输入验证 //非空验证 if (this.txtOldPwd.Text.Trim().Length==0) { MessageBox.Show("请先输入原密码!","雷工提示"); this.txtOldPwd.Focus(); return; } if (this.txtNewPwd.Text.Trim().Length == 0) { MessageBox.Show("请输入新密码!", "雷工提示"); this.txtNewPwd.Focus(); return; } if (this.txtVerifyPwd.Text.Trim().Length == 0) { MessageBox.Show("请再次输入新密码!", "雷工提示"); this.txtVerifyPwd.Focus(); return; } //判断用户输入的原密码与当前登录密码是否一致 if(this.txtOldPwd.Text.Trim()!=Program.currentUser.LoginPwd) { MessageBox.Show("输入的原密码错误!", "雷工提示"); this.txtOldPwd.Focus(); this.txtOldPwd.SelectAll(); return; } //判断新密码的长度 if(this.txtNewPwd.Text.Trim().Length<6) { MessageBox.Show("新密码长度需大于6!", "雷工提示"); this.txtNewPwd.Focus(); this.txtNewPwd.SelectAll(); return; } //判断两次输入密码是否一致 if(this.txtNewPwd.Text.Trim()!=this.txtVerifyPwd.Text.Trim()) { MessageBox.Show("两次输入的密码不一致!", "雷工提示"); this.txtNewPwd.Focus(); this.txtNewPwd.SelectAll(); return; } #endregion try { SysAdmin objAdmin = new SysAdmin() { LoginId = Program.currentUser.LoginId, LoginPwd = this.txtNewPwd.Text.Trim() };if(new SysAdminService().ChangePwd(objAdmin)==1){ MessageBox.Show("密码修改成功!", "雷工提示"); Program.currentUser.LoginPwd = this.txtNewPwd.Text.Trim(); this.Close();} } catch (Exception) { throw; }}

05 取消按钮//取消密码修改private void btnCancel_Click(object sender, EventArgs e){ this.Close();}06 后记

以上为修改密码的练习过程,其实验证部分还不够完善,像不允许特殊字符,不可与原密码相等,是否显示密码,都暂未设置,

还有哪些与实际中不符的欢迎大佬们评论指出,

更多相关话题也可以在交流群探讨。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注