1. 萌生这一想法是在修改验证旧密码的时候想出来的,过去的时候有一次验证密码的时候不能粘贴复制,于是就自己试着看看能不能实现这一功能,事实证明,成功了,可能不是很完善,但是一开始也遇到了很多的问题,想设置Ctrl+c和Ctrl+v以及Ctrl+x禁止复制,粘贴和剪切。代码如下:
Private Sub txtpassword2_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = 86 Or KeyCode = 67 Or KeyCode = 88) And Shift = 2 Then
MsgBox "不能粘贴复制",oKOnly + vbExclamation, "警告"
txtpassword2.Text = ""
End If
End Sub
Private Sub txtpassword1_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = 86 Or KeyCode = 67 Or KeyCode = 88) And Shift = 2 Then
MsgBox "不能粘贴复制", vbOKOnly + vbExclamation, "警告"
txtpassword1.Text = ""
End If
End Sub
shift在vb中有很大的用途:
Shift是用来指示Ctrl Shift Alt 等按键有哪些被按下用的
Shift键 1
Ctrl键 2
Alt键 4
如果Shift=1的话,就说明只按下了Shift键
如果Shift=2的话,就说明只按下了Ctrl键
如果Shift=3的话,就说明同时按下了Ctrl键和Shift键
如果Shift=4的话,就说明只按下了Alt键
如果Shift=5的话,就说明同时按下了Shift键和Alt键
如果Shift=6的话,就说明同时按下了Ctrl键和Alt键
在此次代码中设置shift=2意为ctrl按下时,执行下面操作
2.验证原密码是否正确
当修改密码的时候直接修改密码未免不是很严谨,所以尽量验证一下原密码,进行完善,所以完善后的窗体也会有所改变
既然验证原密码就难免会用到数据库的
Private Sub cmdok_click()
Dim txtSQL, Msgtext As String
Dim mrc As ADODB.Recordset
'判断原密码是否正确
txtSQL = "select*from user_info where user_ID='" & UserName & "'"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
If Trim(txtOld.Text) <> Trim(mrc.Fields(1)) Then
MsgBox "原密码输入不正确", vbOKOnly + vbExclamation, "警告"
txtOld.SetFocus
txtOld.Text = ""
txtpassword1.Text = ""
txtpassword2.Text = ""
Exit Sub
End If
'判断是否为空和两次输入是否一致
If Trim(txtpassword1.Text) <> Trim(txtpassword2.Text) Then
MsgBox "两次密码不一致,请重新输入!", vbOKOnly + vbExclamation, "警告"
txtpassword1.SetFocus
txtpassword1.Text = ""
txtpassword2.Text = ""
Else
If txtpassword1.Text = "" Then
MsgBox "密码不能为空", vbOKOnly + vbExclamation, "警告"
txtpassword1.SetFocus
txtpassword1.Text = ""
txtpassword2.Text = ""
txtOld.Text = ""
Else
If Trim(txtOld.Text) = Trim(txtpassword1.Text) Then
MsgBox "新旧密码不能相同", vbOKOnly + vbExclamation, "警告"
txtpassword1.Text = ""
txtpassword2.Text = ""
txtOld.Text = ""
Else
txtSQL = "select*from user_info where user_Id='" & UserName & " '"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
mrc.Fields(1) = txtpassword1.Text
mrc.Update
mrc.Close
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
Me.Hide
End If
End If
End If
txtpassword1.Text = ""
txtpassword2.Text = ""
txtOld.Text = ""
End Sub