VB中 减号键(- _) 的 keycode(键盘码 键码)是什么?不是189吗?

为什么我运行这段程序输入减号的时候还是提示输入错误呢?输入数字的时候就没事!减号的键值不是189吗?
Private Sub Text1_KeyPress(KeyCode As Integer)
If (KeyCode < 58 And KeyCode > 47) Or KeyCode = 189 Then
Else
MsgBox "输入错误!"
End If
End Sub

删了这个sub,重新让系统自动生成吧。 keypress事件里是没有keycode的,只有keyascii。
如果你要用keycode,必须用keyup或keydown事件。
但是这里你要做限制的话,用keypress里keyascii也行。不过要提醒你的是 减号的ascii是 45。你说的189是主键盘区的减号/下划线的keycode。阻止非法输入用keyascii的好。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-29
你可以自己检测一下到底是什么
Private Sub Text1_KeyPress(KeyCode As Integer)
me.caption = KeyCode '加上这句,按完了键,自己到程序标题栏上去看看不就知道keycode了
If (KeyCode < 58 And KeyCode > 47) Or KeyCode = 189 Then
Else
MsgBox "输入错误!"
End If
End Sub
第2个回答  2011-03-29
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 58 And KeyAscii > 47) Or KeyAscii = 45 Then

Else
KeyAscii = 0
End If
End Sub
第3个回答  2011-03-29
如果是数字小键盘上的减号,就不是189,是109 。等于号左边的减号键是189。
第4个回答  2011-03-29
键码

常数 值 描述
vbKeyLButton 1 鼠标左键
vbKeyRButton 2 鼠标右键
vbKeyCancel 3 CANCEL 键
vbKeyMButton 4 鼠标中键
vbKeyBack 8 BACKSPACE 键
vbKeyTab 9 TAB 键
vbKeyClear 12 CLEAR 键
vbKeyReturn 13 ENTER 键
vbKeyShift 16 SHIFT 键
vbKeyControl 17 CTRL 键
vbKeyMenu 18 菜单键
vbKeyPause 19 PAUSE 键
vbKeyCapital 20 CAPS LOCK 键
vbKeyEscape 27 ESC 键
vbKeySpace 32 SPACEBAR 键
vbKeyPageUp 33 PAGEUP 键
vbKeyPageDown 34 PAGEDOWN 键
vbKeyEnd 35 END 键
vbKeyHome 36 HOME 键
vbKeyLeft 37 LEFT ARROW 键
vbKeyUp 38 UP ARROW 键
vbKeyRight 39 RIGHT ARROW 键
vbKeyDown 40 DOWN ARROW 键
vbKeySelect 41 SELECT 键
vbKeyPrint 42 PRINT SCREEN 键
vbKeyExecute 43 EXECUTE 键
vbKeySnapshot 44 SNAP SHOT 键
vbKeyInser 45 INS 键
vbKeyDelete 46 DEL 键
vbKeyHelp 47 HELP 键
vbKeyNumlock 144 NUM LOCK 键

A 键到 Z 键与其 ASCII 码的相应值'A' 到 'Z' 是一致的
常数 值 描述
vbKeyA 65 A 键
vbKeyB 66 B 键
vbKeyC 67 C 键
vbKeyD 68 D 键
vbKeyE 69 E 键
vbKeyF 70 F 键
vbKeyG 71 G 键
vbKeyH 72 H 键
vbKeyI 73 I 键
vbKeyJ 74 J 键
vbKeyK 75 K 键
vbKeyL 76 L 键
vbKeyM 77 M 键
vbKeyN 78 N 键
vbKeyO 79 O 键
vbKeyP 80 P 键
vbKeyQ 81 Q 键
vbKeyR 82 R 键
vbKeyS 83 S 键
vbKeyT 84 T 键
vbKeyU 85 U 键
vbKeyV 86 V 键
vbKeyW 87 W 键
vbKeyX 88 X 键
vbKeyY 89 Y 键
vbKeyZ 90 Z 键

0 键到 9 键与其 ASCII 码的相应值 '0' 到 '9' 是一致的
常数 值 描述
vbKey0 48 0 键
vbKey1 49 1 键
vbKey2 50 2 键
vbKey3 51 3 键
vbKey4 52 4 键
vbKey5 53 5 键
vbKey6 54 6 键
vbKey7 55 7 键
vbKey8 56 8 键
vbKey9 57 9 键

数字小键盘上的键
常数 值 描述
vbKeyNumpad0 96 0 键
vbKeyNumpad1 97 1 键
vbKeyNumpad2 98 2 键
vbKeyNumpad3 99 3 键
vbKeyNumpad4 100 4 键
vbKeyNumpad5 101 5 键
vbKeyNumpad6 102 6 键
vbKeyNumpad7 103 7 键
vbKeyNumpad8 104 8 键
vbKeyNumpad9 105 9 键
vbKeyMultiply 106 乘号 (*) 键
vbKeyAdd 107 加号 (+) 键
vbKeySeparator 108 ENTER 键(在数字小键盘上)
vbKeySubtract 109 减号 (-) 键
vbKeyDecimal 110 小数点 (.) 键
vbKeyDivide 111 除号 (/) 键

功能键
常数 值 描述
vbKeyF1 112 F1 键
vbKeyF2 113 F2 键
vbKeyF3 114 F3 键
vbKeyF4 115 F4 键
vbKeyF5 116 F5 键
vbKeyF6 117 F6 键
vbKeyF7 118 F7 键
vbKeyF8 119 F8 键
vbKeyF9 120 F9 键
vbKeyF10 121 F10 键
vbKeyF11 122 F11 键
vbKeyF12 123 F12 键
vbKeyF13 124 F13 键
vbKeyF14 125 F14 键
vbKeyF15 126 F15 键
vbKeyF16 127 F16 键
第5个回答  2011-03-29
是 109

VB中 减号键(- _) 的 keycode(键盘码 键码)是什么?不是189吗?
删了这个sub,重新让系统自动生成吧。 keypress事件里是没有keycode的,只有keyascii。如果你要用keycode,必须用keyup或keydown事件。但是这里你要做限制的话,用keypress里keyascii也行。不过要提醒你的是 减号的ascii是 45。你说的189是主键盘区的减号\/下划线的keycode。阻止非法输入用keyascii的好。

vb中keycode 是什么
keycode 是键盘上每一个按键对应的码 keycode如下 :keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode 5 = keycode 6 = keycode 7 = keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 10 = keycode 11 = keycode 12 = Clear keycode 13 = Enter keyc...

“+=”、“-”、“\/”和“\\”键的keycode值 vb.net WPF
private void Window_KeyDown(object sender, KeyEventArgs e) { MessageBox.Show(e.Key.ToString()); }

计算器中小数点跟加减号代码 vb
private sub button10_click()'小数点键定义输出地方并用函数检测该地方是否含小数点 if instr(text2,".")= 0 then text2 = text2 & "."if text2 = "."then text2 = "0."str1 = text2 else beep end if 你的str1是保存数字吗?你单独给一个过程怎么看得懂。不行的话你把代码全...

VC或VB按键调出声音
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode > 47 And KeyCode < 58 Then a = a + 1 ti = Timer Select Case a Case 1 Sy = KeyCode - 48 Do If a <> 1 Then Exit Sub ElseIf ((ti + tj < 86400) And (Timer > ti + tj)) Or ((ti + tj...

js监听键盘上的加减号用以取代上下键来控制滚动条的滚动。
window.onload = function() { \/\/ 指定每次按键后滚动长度,单位 px var scroll_height = 10;var gundong = document.getElementById("gundong");document.onkeypress = function(e) { e = e || window.event;var keyStr = String.fromCharCode(e.which || e.keyCode);\/\/ +,向上滚动 if(...

flash常用命令
- keycode 返回键盘按下键的键盘值(ASCII值) - localToGlobal MC中的坐标转换成场景(Scene)中的坐标 - maxscroll 文本框的最大行度 - newline 换行符 - Number 将参数转换成数值其返回值有以下四种情况: 如果x 为一数字,则返回值即为该数字;如果 x 为一布尔数,则返回0或1;如果 x 为一字符串,则函数将...

C# 中怎么调用方向键和回车
键 代码 BACKSPACE {BACKSPACE}、{BS} 或 {BKSP} BREAK {BREAK} CAPS LOCK {CAPSLOCK} DEL 或 DELETE {DELETE} 或 {DEL} DOWN ARROW(下箭头键) {DOWN} END {END} ENTER {ENTER} 或 ~ESC {ESC} HELP {HELP} HOME {HOME} INS 或 INSERT {INSERT} 或 {INS} LEFT ARROW(左箭头键)...

c#如何检测其他的软件的按键按下
\/\/键盘上部 分号= 186, 冒号 = 186, OEMSemicolon = 0xBA, OEM1 = 0xBA, \/* ; : *\/ 等号= 187, 加号 = 187, OEMPlus = 0xBB, \/* = + *\/ 逗号= 188, 小于号 = 188, OEMComma = 0xBC, \/* , < *\/ 减号= 189, 下划线 = 189, OEMinus = 0xBD, \/* = + *\/ 句号= 190, 大...

怎么实现后台发送组合键
数字键盘减号 {SUBTRACT} 数字键盘乘号 {MULTIPLY} 数字键盘除号 {DIVIDE} 若要指定与SHIFT、CTRL和ALT键的随便率性组合一路应用的键,请在这些键代码之前加上以下一段或多段代码。 键 代码SHIFT +CTRL ^ALT %若要指定在按一些键时应同时按住SHIFT、CTRL和ALT键的随便率性组合,请将这些键的代码放在...

相似回答