System.Windows.Forms.Keys - 低级还是大写?

时间:2012-01-11 16:46:51

标签: c# winforms case

我一直在寻找答案,但我似乎找不到任何东西。有谁知道你是否可以在Keys中确定字母大小写?

例如:

if (System.Windows.Forms.Keys.A.ToString() == "A")
{
    // Upper or Lower?
}

感谢。

3 个答案:

答案 0 :(得分:7)

没有外壳,它代表键盘上的物理键。你在键盘上看到'a'和'A'了吗?

您可以查看是否按下了Shift键。

答案 1 :(得分:3)

System.Windows.Forms.Keys.A表示键盘上的物理键 A 。它没有案例。因此,你的问题没有意义。

如果你想检查用户是否持有键盘上的 Shift 键,还有System.Windows.Forms.Keys.Shift

答案 2 :(得分:2)

键和字符之间没有简单的映射。键盘布局可以有所不同。一个例子是死键。一旦你进入IME,它就变得更加复杂。请勿尝试在应用程序中手动复制键盘布局。

如果您想获取用户输入的字符,请处理WM_CHAR,而不是WM_KEY_DOWN/UP。它在winforms中显示为Control.KeyPress事件。