KeyCode 和键盘布局和语言
我需要将星号作为文本框中允许的条目包含在内。
无论键盘布局和语言如何,如何在 KeyDown 事件下测试此键?
忽略数字键盘,在葡萄牙语 QWERTY 布局中,可以通过 Keys.Shift | 测试此键。 Keys.Oemplus。但对于其他布局或语言来说,情况并非如此。
I need to include the asterisk as an allowable entry on a text box.
How can I test for this key under the KeyDown event regardless of the keyboard layout and language?
Ignoring the numeric keypad, with the Portuguese QWERTY layout this key can be tested through Keys.Shift | Keys.Oemplus
. But that will not be the case for other layouts or languages.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您使用了错误的事件,您应该使用 KeyPressed。当用户按下实际打字键时会触发该事件。 KeyDown 在这里没有用,虚拟键根据键盘布局转换为打字键。除非您自己翻译击键,否则很难猜测那可能是什么。那很难。
一些代码:
需要 \b 才能允许用户退格。
You are using the wrong event, you should be using KeyPressed. That fires when the user presses actual typing keys. KeyDown is useless here, the virtual key gets translated to a typing key according to the keyboard layout. Hard to guess what that might be unless you translate the keystroke yourself. That's hard.
Some code:
The \b is required to allow the user to backspace.
使用按键事件
Use KeyPress event