C#、C++、Ja、Python选择哪个好?
哈喽,你好啊,我是雷工!本节记录密码修改功能,为了保证账号的安全性,不定时的修改密码是必要作;以下为练习笔记。<>01效果演示><>1.1、未输入原密码时>
<>1.2、未输入新密码时>
<>1.3、未输入新密码确认时>
<>1.4、两次输入的密码不一致时>
<>1.5、密码修改成功>
<>02添加窗体>添加一个密码修改窗体命名为:FrmChangePwd;然后开始添加背景素材,添加控件布局,UI效果如下图所示:
主要控件及属性设置如下表:
控件名称 | 设置属性 | 属性值 | 备注 |
Lale1 | Text | 原密码: | |
| ackColor | Transparent | 背景设置为透明 |
Lale2 | Text | 新密码: | |
Lale3 | Text | 新密码确认: | |
Textox1 | ackColor | FixedSingle | |
| (name) | txtOldPwd | 原密码框名 |
Textox2 | ackColor | FixedSingle | |
| (name) | txtNewPwd | 新密码密码框名称 |
| UseSystemPasswordChar | True | 密码框非明文 |
Textox3 | ackColor | FixedSingle | |
| (name) | txtVerifyPwd | 新密码密码框名称 |
utton1 | FlatStyle | Flat | 设置无边框 |
| Text | 确认修改 | |
| ackColor | Highlight | 设置背景色 |
| ForeColor | White | 设置字体文本色 |
| (name) | tnChange | 确认修改按钮名 |
utton2 | FlatStyle | Flat | 设置无边框 |
| Text | 取消 | |
| (name) | tnCancel | 取消按钮名 |
03修改方法首先在数据访问类SysServ中添加修改密码的方法。代码如下:
///<summary>
///修改登录密码
///</summary>
///<paramname="oj"></param>
///<retns></retns>
///<exceptioncref="Exception"></exception>
pulicintChangePwd(Sysoj)
{
stringsql="updatessetLoginPwd='{0}'whereLoginId={1}";
sql=string.Format(sql,oj.LoginPwd,oj.LoginId);
try
{
retnSQLHelper.Update(sql);
}
catch(Exceptionex)
{
thrownewException("修改密码出现数据访问错误:"+ex.Message);
}
}
04确认修改按钮
4.1、添加事件
双击【确认修改】按钮,添加对应事件,
4.2、事件思路
①信息验证,输入信息非空验证,一致性验证,长度验证;
②调用相应方法修改密码;
4.3、事件代码
//密码修改
privatevoidtnChange_Click(ojectsender,EventArgse)
{
#region输入验证
//非空验证
if(this.txtOldPwd.Text.Trim().Length==0)
{
Messageox.Show("请先输入原密码!","雷工提示");
this.txtOldPwd.Focus();
retn;
}
if(this.txtNewPwd.Text.Trim().Length==0)
{
Messageox.Show("请输入新密码!","雷工提示");
this.txtNewPwd.Focus();
retn;
}
if(this.txtVerifyPwd.Text.Trim().Length==0)
{
Messageox.Show("请再次输入新密码!","雷工提示");
this.txtVerifyPwd.Focus();
retn;
}
//判断用户输入的原密码与当前登录密码是否一致
if(this.txtOldPwd.Text.Trim()!=Program.crentUser.LoginPwd)
{
Messageox.Show("输入的原密码错误!","雷工提示");
this.txtOldPwd.Focus();
this.txtOldPwd.SelectAll();
retn;
}
//判断新密码的长度
if(this.txtNewPwd.Text.Trim().Length