禁用密码 TextBox Caps-Lock 处于警告状态
Disable password TextBox Caps-Lock is On warning
我正在创建一个登录程序,但我遇到了这个问题,每次我单击此 "Show Password" 按钮并激活 Caps-Lock 时,都会弹出一个警告不会离开(至少我认为不会,这对最终用户来说会更糟)
我想完全摆脱这个警告。
在将我的问题重定向到这个问题之前:
How to disable system's caps-lock notification on Textbox
我已经试过了。
Private Sub ShowPassword_MouseDown(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseDown
If txt_Password.Text <> "" Then
txt_Password.UseSystemPasswordChar = False
End If
End Sub
Private Sub ShowPassword_MouseUp(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseUp
If txt_Password.Text <> "" Then
txt_Password.UseSystemPasswordChar = True
End If
End Sub
警告应该消失。
希望这个问题可以帮助其他人,而不仅仅是我。
编辑:谢谢吉米。 :D
当你这样做时:
[TextBox].UseSystemPasswordChar = [Bool Value]
每次都重新创建控件的句柄(.Net source code
)
一旦 TextBox.Text
值发生变化,就会为新的控制手柄显示气球工具提示:工具提示会堆积起来。
一个简单的解决方法 - 因为在这里禁用警告可能不是一个好的选择 - 是设置 PasswordChar property to Char.MinValue
or Nothing
in the MouseDown
handler of your Show Password
Button, then set it back to the previous value on MouseUp
. This won't recreate the handle (.Net Source code
) 并且可以禁用气球工具提示按 Caps-Lock键。
在设计器中将 UseSystemPasswordChar
设置为 False
。
在 Form.Load
或 txt_Password.Enter
中:txt_Password.PasswordChar = ChrW(&H25CF)
Private Sub ShowPassword_MouseDown(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseDown
txt_Password.PasswordChar = Char.MinValue
End Sub
Private Sub ShowPassword_MouseUp(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseUp
txt_Password.PasswordChar = ChrW(&H25CF)
End Sub
我正在创建一个登录程序,但我遇到了这个问题,每次我单击此 "Show Password" 按钮并激活 Caps-Lock 时,都会弹出一个警告不会离开(至少我认为不会,这对最终用户来说会更糟)
我想完全摆脱这个警告。
在将我的问题重定向到这个问题之前:
How to disable system's caps-lock notification on Textbox
我已经试过了。
Private Sub ShowPassword_MouseDown(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseDown
If txt_Password.Text <> "" Then
txt_Password.UseSystemPasswordChar = False
End If
End Sub
Private Sub ShowPassword_MouseUp(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseUp
If txt_Password.Text <> "" Then
txt_Password.UseSystemPasswordChar = True
End If
End Sub
警告应该消失。
希望这个问题可以帮助其他人,而不仅仅是我。
编辑:谢谢吉米。 :D
当你这样做时:
[TextBox].UseSystemPasswordChar = [Bool Value]
每次都重新创建控件的句柄(.Net source code
)
一旦 TextBox.Text
值发生变化,就会为新的控制手柄显示气球工具提示:工具提示会堆积起来。
一个简单的解决方法 - 因为在这里禁用警告可能不是一个好的选择 - 是设置 PasswordChar property to Char.MinValue
or Nothing
in the MouseDown
handler of your Show Password
Button, then set it back to the previous value on MouseUp
. This won't recreate the handle (.Net Source code
) 并且可以禁用气球工具提示按 Caps-Lock键。
在设计器中将 UseSystemPasswordChar
设置为 False
。
在 Form.Load
或 txt_Password.Enter
中:txt_Password.PasswordChar = ChrW(&H25CF)
Private Sub ShowPassword_MouseDown(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseDown
txt_Password.PasswordChar = Char.MinValue
End Sub
Private Sub ShowPassword_MouseUp(sender As Object, e As MouseEventArgs) Handles ShowPassword.MouseUp
txt_Password.PasswordChar = ChrW(&H25CF)
End Sub