在我的KeyDown
EventHandler
中,我需要知道KeyCode
对于“,”和“。”。
我找不到他们,这就是我问的原因。谢谢!
答案 0 :(得分:24)
一把钥匙和一个角色不是一回事。键盘布局在它们之间进行转换,这种转换并非易事。使用KeyDown
时可能你做错了。如果您想知道用户输入了哪个字符,请使用KeyPress
,这将提供已翻译的字符。
例如,Keys.Decimal
是与美国版面上的.
对应的小键盘上的键,以及德语版面上的,
。 Keys.Oemcomma
和OemPeriod
可能会低于,
和.
字母。但在其他可能不同的布局上。
答案 1 :(得分:7)
Oemcomma
和OemPeriod
看起来很不错。
查看MSDN上的Keys
enumeration。
答案 2 :(得分:2)
我这样做了:
答案 3 :(得分:2)
检查小数值,这是您的密钥代码。
答案 4 :(得分:0)
使用Keys.Oemcomma
和Keys.OemPeriod
答案 5 :(得分:0)
你试过这个“。”c
浮动过滤器:
Select Case e.KeyChar
Case "0"c To "9"c
Case "."c
If .Text.Contains(".") Then
e.Handled = True
End If
Case ChrW(Keys.Delete), ChrW(Keys.Back)
Case Else
e.Handled = True
End Select