英国键盘的.KeyDown事件返回的密码是什么?

时间:2016-04-19 10:22:30

标签: c# .net vb.net keydown

.KeyDown事件中是否有VB.Net和C#返回的密钥代码列表?返回的值与通常的ASCII代码不匹配。

4 个答案:

答案 0 :(得分:5)

这些值都是Keys Enumeration的一部分。

这些的实际值(与所有枚举一样)是任意,因此您永远不应编写将其与数值进行比较的代码。例如,他们可能会通过框架更新来改变价值。

恰好A-Z对应A-Z的ASCII值,但你不应该依赖于此。

Intellisense会在适当的时候显示这些键(包含每个单独的值):

enter image description here

您还可以在对象浏览器(F11)中搜索Windows.System.Forms.Keys,您将看到完整列表(带有值):

enter image description here

答案 1 :(得分:0)

0无按键

1 LEFT MOUSE按钮

2右鼠标按钮

3 CANCEL KEY

4 MIDDLE MOUSE按钮(三键鼠标)

5第一个x鼠标按钮(五键鼠标)

6第二个x鼠标按钮(五键鼠标)

7未定义

8 BACKSPACE

9 TAB

10 LINEFEED键

11未定义

12 CLEAR键

13 RETURN / ENTER KEY(字母旁边)也是ENTER KEY(在数字键盘上)

14未定义

15未定义

16 SHIFT

17 CTRL

18 ALT

19 PAUSE / BREAK

20 CAPS LOCK

21 IME Hanguel模式键/ IME假名模式键

22未定义

23 IME Junja模式键

24 IME最终模式键

25 IME Hanja模式键/ IME汉字模式键

26未定义

27 ESC

28 IME转换键

29 IME非转换密钥

30 IME接受键

31 IME模式更改键

32空格键

33 PAGE UP / PGUP KEY

34 PAGE DOWN / PGDN KEY

35结束

36 HOME

37左箭头键

38向上箭头

39正确的箭头键

40 DOWN ARROW KEY

41 SELECT键

42 PRINT键

43 EXECUTE键

44 PRINT SCREEN键

45 INSERT

46删除

47帮助键

48 0 /)KEY ON KEYBOARD(字母上方)

49 1 /!键盘上的键(字母上方)

50 2 / @ KEY ON KEYBOARD(字母上方)

51 3 /#KEY ON KEYBOARD(上面的字母)

52 4 / $ KEY ON KEYBOARD(上面的字母)

53 5 /%KEY ON KEYBOARD(字母上方)

54 6 / ^键盘上的键(字母上方)

55 7 /&键盘上的键(字母上方)

56 8 / * KEY ON KEYBOARD(上面的字母)

57 9 /(键盘上的键盘(字母上方)

58未定义

59未定义

60未定义

61未定义

62未定义

63未定义

64未定义

65 A和一把钥匙

66 B和b KEY

67 C和c KEY

68 D和d KEY

69 E和e KEY

70 F和f KEY

71 G和g KEY

72 H和h KEY

73我和我的关键

74 J和j KEY

75 K和k KEY

76 L和​​l KEY

77 M和m KEY

78 N和n KEY

79 O和o KEY

80 P和p KEY

81 Q和q KEY

82 R和r KEY

83 S和s KEY

84 T和t KEY

85 U和你的钥匙

86 V和v KEY

87 W和w KEY

88 X和x KEY

89 Y和y KEY

90 Z和z KEY

91左侧Windows徽标键

92正确的Windows徽标键

93上下文菜单键(模拟右键单击的键)

94保留

95键盘上的SLEEP / STANDBY键

96 0 KEY(在数字键盘上)

97 1 KEY(在数字键盘上)

98 2 KEY(在数字键盘上)

99 3 KEY(在数字键盘上)

100 4 KEY(在数字键盘上)

101 5 KEY(在数字键盘上)

102 6 KEY(在数字键盘上)

103 7 KEY(在数字键盘上)

104 8 KEY(在数字键盘上)

105 9 KEY(在数字键盘上)

106 * KEY(在数字键盘上)

107 + KEY(在数字键盘上)

108分隔符键(数字键盘上的ENTER键)

109 - KEY(在数字键盘上)

110。 KEY(在数字键盘上)

111 / KEY(在数字键盘上)

112 F1

113 F2

114 F3

115 F4

116 F5

117 F6

118 F7

119 F8

120 F9

121 F10

122 F11

123 F12

124 F13

125 F14

126 F15

127 F16

128 F17

129 F18

130 F19

131 F20

132 F21

133 F22

134 F23

135 F24

136未分配

137未分配

138未分配

139未分配

140未分配

141未分配

142未分配

143未分配

144 NUM LOCK

145 SCROLL LOCK

146 OEM特定

147 OEM特定

148 OEM特定

149 OEM特定

150 OEM特定

151未分配

152未分配

153未分配

154未分配

155未分配

156未分配

157未分配

158未分配

159未分配

160左侧SHIFT键

161右侧SHIFT键

162左CTRL键

163右CTRL键

164左ALT键

165正确的ALT键

166 BROWSER BACK KEY ON KEYBOARD / INTERNET-CONTROL(Windows 2000或 后)

167 BROWSER FORWARD KEY ON KEYBOARD / INTERNET-CONTROL(Windows 2000或 后)

168键盘/互联网控制上的BROWSER刷新键(Windows 2000或Windows 2000) 后)

169 BROWSER STOP键键盘/互联网控制(Windows 2000或 后)

170浏览器搜索键盘/互联网控制键(Windows 2000或 后)

171浏览器最喜欢的键盘/互联网控制键(Windows 2000 或以后)

172浏览器键盘/互联网控制(Windows 2000或Windows) 后)

173 MUTE KEY ON KEYBOARD / MEDIA-CONTROL(Windows 2000或更高版本)

174 VOLUME DOWN KEY键盘/媒体控制(Windows 2000或更高版本)

键盘/媒体控制上的175个音量增大键(Windows 2000或更高版本)

176媒体下一曲目键(Windows 2000或更高版本)

177媒体上一曲目键(Windows 2000或更高版本)

178媒体停止键(Windows 2000或更高版本)

179媒体播放暂停键(Windows 2000或更高版本)

180启动邮件密钥/ E-MAIL KEY ON KEYBOARD / INTERNET-CONTROL (Windows 2000或更高版本)

181选择媒体键/ MEDIA KEY ON KEYBOARD / MEDIA-CONTROL (Windows 2000或更高版本)

182启动应用程序一键(Windows 2000或更高版本)

183启动应用程序两个键(Windows 2000或更高版本)

184保留

185保留

186;并且:KEY

187 = / + KEY ON KEYBOARD(字母上方)

188,< KEY

189 - / _键盘上的键盘(上面的字母)

190 p。和> KEY

191 /和? KEY

192~和'KEY ON KEYBOARD

193保留

194保留

195保留

196保留

197保留

198保留

199保留

200保留

201保留

202保留

203保留

204保留

205保留

206保留

207保留

208保留

209保留

210保留

211保留

212保留

213保留

214保留

215保留

216未分配

217未分配

218未分配

219 [和{KEY

220 \和| KEY

221]和} KEY

222'和#KEY

223用于杂项字符;它可以通过键盘变化

224保留

225 OEM特定

226 RT 102键盘上的OEM尖括号或反斜杠键 (Windows 2000或更高版本)

227 OEM特定

228 OEM特定

229 PROCESS KEY键(IME PROCESS KEY)

230 Oem具体

231用于传递Unicode字符,就像它们是击键一样(Windows 2000年或以后)

232未分配

233 OEM特定

234 OEM特定

235 OEM特定

236 OEM特定

237 OEM特定

238 OEM特定

239 OEM特定

240 OEM特定

241 OEM特定

242 OEM特定

243 OEM特定

244 OEM特定

245 OEM特定

246 ATTN键

247 CRSEL键

248 EXSEL键

249 ERASE EOF键

250 PLAY键

251 ZOOM键

252留作将来使用

253 PA1键

254 CLEAR键

255其他/键盘上的MISC键

答案 2 :(得分:0)

打印一份简单的报告

  String report = String.Join(Environment.NewLine, Enum
    .GetValues(typeof(Keys))
    .OfType<Keys>()
    .Select(key => String.Format("{0,6} : {1}", (int) key, key)));

  Console.Write(report);

你会得到

     0 : None
     1 : LButton
     2 : RButton
     3 : Cancel
     4 : MButton
     5 : XButton1
     6 : XButton2
     8 : Back
     9 : Tab
     ....
    65 : A
    66 : B
    67 : C
    68 : D
    69 : E
    ....
   252 : NoName
   253 : Pa1
   254 : OemClear
 65535 : KeyCode
 65536 : Shift
131072 : Control
262144 : Alt
-65536 : Modifiers

请注意,某些密钥代码(例如'A'..'Z' ASCII值对应。但是,键盘的键字符不同的事物(如果你有一些奇特的键盘布局那么?) em>不要依赖这个信件:

 // If key "F" is downed
 if ((e.KeyCode == Keys.F) && (e.Modifiers == Keys.None)) {
   // Actual character can well be 'А' (on my workstation - Russian layout)
   ...
 }

答案 3 :(得分:-1)

您可以使用Keys.xx,其中xx来自下一个列表https://msdn.microsoft.com/en-us/library/system.windows.forms.keys(v=vs.110).aspx