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

在我的KeyDown EventHandler我需要知道“,”和“。”的KeyCode是什么。

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

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

例如, Keys.Decimal是与Keys.Decimal对应的键. 关于美国布局,以及德国布局。 Keys.OemcommaOemPeriod很可能,而且. 低于字母。 但在其他可能不同的布局上。

OemcommaOemPeriod看起来很不错。

查看MSDN上的Keys枚举 。

我这样做了:

  1. 使用单个文本框创建了一个WinForm项目。
  2. 添加了keydown事件处理程序。
  3. 在其中加入一个断点
  4. 明白啦:

在此处输入图像描述

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

http://www.asciitable.com/

使用Keys.OemcommaKeys.OemPeriod

你试过这个“。”c

浮动filter:

 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