.NET中的“,”(逗号)和“。”(点)的KeyCode是什么?

时间:2012-01-18 18:49:08

标签: c# .net vb.net enums keycode

在我的KeyDown EventHandler中,我需要知道KeyCode对于“,”和“。”。

我找不到他们,这就是我问的原因。谢谢!

6 个答案:

答案 0 :(得分:24)

一把钥匙和一个角色不是一回事。键盘布局在它们之间进行转换,这种转换并非易事。使用KeyDown时可能你做错了。如果您想知道用户输入了哪个字符,请使用KeyPress,这将提供已翻译的字符。

例如,Keys.Decimal是与美国版面上的.对应的小键盘上的键,以及德语版面上的,Keys.OemcommaOemPeriod可能会低于,.字母。但在其他可能不同的布局上。

答案 1 :(得分:7)

OemcommaOemPeriod看起来很不错。

查看MSDN上的Keys enumeration

答案 2 :(得分:2)

我这样做了:

  1. 使用单个文本框创建了一个WinForm项目。
  2. 添加了keydown事件处理程序。
  3. 在其中加入一个断点
  4. 得到了这个:
  5. enter image description here

答案 3 :(得分:2)

检查小数值,这是您的密钥代码。

http://www.asciitable.com/

答案 4 :(得分:0)

使用Keys.OemcommaKeys.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