WPF PasswordBox:如何警告用户已启用Caps Lock?

Rob*_*ers 8 .net wpf passwordbox

有没有人知道如何实现标准的气泡消息,当启用Caps Lock并且密码控件具有焦点时,该消息会警告用户?这是内置到.NET框架中,还是我需要编写自己的类来执行此操作?

Jos*_*ose 12

这是一个老问题,已经回答了,但我遇到了同样的问题,我首先开始使用Keyboard.IsKeyToggled(Key.CapsLock)但是false如果在应用程序运行之前设置了Caps Lock ,则会返回.所以我找到了另一种完美的解决方案.

Console.CapsLock //is boolean and returns true if CapsLock is on
Run Code Online (Sandbox Code Playgroud)

绝对精彩和简单(它在mscorlib dll中,因此您不必担心不需要的依赖项)


xan*_*xan 3

您可以将处理程序函数添加到PasswordChanged事件处理程序并测试该函数中CapsLock 键的值。如果发现已打开,您可以从那里弹出一条消息。

  • 这样就可以解决问题了!要在事件处理程序中检测 CapsLock,只需检查以下布尔值:Keyboard.IsKeyToggled(Key.CapsLock) (4认同)