《算法与程序设计》

第05-06课 变量与函数

> > > > 教学内容 实践内容 教学资源

键盘控制

一、Form_KeyDown过程

窗体的KeyDown可以用来接收键盘上的按键。过程为：

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
End Sub

该过程会带回两个参数，参数KeyCode可以显示你按下了哪个键，一些常见字符的KeyCode值如下表所示。即当你按下←键时，KeyCode的值为37，因此，你可以在程序中进行判断：

IF KeyCode=37 Then

Image1.Left=Image1.Left-50

End If

字符 | KeyCode | 字符 | KeyCode | 字符 | KeyCode
← | 37 | A | 65 | Y | 89
↑ | 38 | B | 66 | Z | 90
→ | 39 | C | 67 | 0 | 48
↓ | 40 | D | 68 | 1 | 49
Enter | 13 | E | 69 | 2 | 50
Esc | 27 | F | 70 | 3 | 51
空格 | 32 | G | 71 | 4 | 52
F1 | 112 | H | 72 | 5 | 53
F2 | 113 | I | 73 | 6 | 54
F3 | 114 | J | 74 | 7 | 55
F4 | 115 | K | 75 | 8 | 56
F5 | 116 | L | 76 | 9 | 57
F6 | 117 | M | 77 | ; | 186
F7 | 118 | N | 78 | + | 187
F8 | 119 | O | 79 | , | 188
F9 | 120 | P | 80 | - | 189
F10 | 121 | Q | 81 | . | 190
F11 | 122 | R | 82 | / | 191
F12 | 123 | S | 83 | ' | 222
|  | T | 84 |  |
|  | U | 85 |  |
|  | V | 86 |  |
|  | W | 87 |  |
|  | X | 88 |  |

参数Shift说明你在按键的同时是否按下了Shift,Ctrl,Alt

Shift=1时 | 说明你同时按下了Shift
Shift=2时 | 说明你同时按下了Ctrl
Shift=4时 | 说明你同时按下了Alt

注意：为了保证保护系统优先响应键盘的操作，需要把Form的KeyPreview设置为True

一、情况语句

通常我们可以使用条件语句（IF/THEN）对一个或多个条件进行判断，并根据不同的结束执行不同的命令，但IF/THEN语句比较适合只有两种结果的条件，当条件的结果为两个以上时，用条件语句就不太方便了，此时可以使用“情况语句（Case）”，其格式如下：

Select Case 条件表达式

Case 条件值1

{在这个条件下要执行的语句组}

Case 条件值2

{在这个条件下要执行的语句组}

......

End Select

例如：窗体上摆放一个图片（Image1），利用←、↑、→、↓四个键上下左右移动图片时就可以使用Case语句，这四个键的键盘码分别是37，38，39，40：