如何从113键值返回(F1)?

时间:2013-08-27 13:13:36

标签: sql visual-studio-2010 c#-4.0 onkeydown

当我按F2然后按照我的表格keydown事件中的代码返回113

 MessageBox.Show(e.KeyValue.ToString());//If pressed key is F2 ->113

但是当我想从下面的代码中获取KeyValue中的Char时,它返回“q”

 MessageBox.Show(Char.ConvertFromUtf32(113));//return q

如何从113 keyvalue到达F2?

3 个答案:

答案 0 :(得分:2)

作为对Keys枚举的KeyCode演员?

((Keys)e.KeyValue).ToString();

答案 1 :(得分:0)

当您尝试获取字符值为113时获取字母q的原因是因为它映射到q的ASCII值

enter image description here

并回答你的其余问题

ascii codes for windows keyboard keys and the codes for function keys(F1 - F12) and other keys like shift,capslock,backspace,ctrl etc

我在这里发现了这篇文章http://bytes.com/topic/c-sharp/answers/429451-keycode-keyvalue-keydata

  

有KeyUp,KeyDown和KeyPress事件。只有KeyPress事件   提供字符代码。因为这段代码,我不会说ASCII   取决于当前的语言设置;甚至一个代码也可以   由于按下一系列键而产生。即便在   最简单的英语语言设置案例没有1:1的映射   密钥和字符代码之间,例如密钥A为' a'生成ASCII。要么   密钥A为' A'生成ASCII。如果cpaslock打开或按下shift或   '一个'两个封锁都打开并且按下了移位等。甚至更多   是不产生ASCII码的键 - ctrl,alt,shift,F1,F2。,   Fx,Windows键等

答案 2 :(得分:0)

通常,功能键实际上不是字符。通常,它们被映射为键组合,如(0,113)。为什么要使用F2的字符代码?