主题:窗体的keydown事件
书上例题要求按照上图,当按下键盘的某个键时,在窗体上显示所按键的码值。单击“清除”按钮时,可清除窗体上显示的文字。
书上代码如下:
Private Sub Command1_Click()
Cls
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim strTemp As String
Select Case Shift
Case 1
strTemp = "按下了Shift键"
Case 2
strTemp = "按下了Ctrl键"
Case 3
strTemp = "按下了Shift和Ctrl键"
Case 4
strTemp = "按下了Alt键"
Case 5
strTemp = "按下了Shift和Alt键"
Case 6
strTemp = "按下了Ctrl和Alt键"
Case 7
strTemp = "按下了Shift、Alt、Ctrl键"
Case Else
strTemp = "KeyCode是:" & KeyCode
End Select
Print strTemp
End Sub
但在实际运行时是得不到预期效果的,无论按什么键窗体上都没有任何显示。后来发现,如果把窗体上这一个文本框和两个命令按钮(含命令按钮的代码)全删除,则能运行出来效果!
问题:为什么会这样?(哪怕是只放一个命令按钮在窗体上都没有办法显示结果)
书上代码如下:
Private Sub Command1_Click()
Cls
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim strTemp As String
Select Case Shift
Case 1
strTemp = "按下了Shift键"
Case 2
strTemp = "按下了Ctrl键"
Case 3
strTemp = "按下了Shift和Ctrl键"
Case 4
strTemp = "按下了Alt键"
Case 5
strTemp = "按下了Shift和Alt键"
Case 6
strTemp = "按下了Ctrl和Alt键"
Case 7
strTemp = "按下了Shift、Alt、Ctrl键"
Case Else
strTemp = "KeyCode是:" & KeyCode
End Select
Print strTemp
End Sub
但在实际运行时是得不到预期效果的,无论按什么键窗体上都没有任何显示。后来发现,如果把窗体上这一个文本框和两个命令按钮(含命令按钮的代码)全删除,则能运行出来效果!
问题:为什么会这样?(哪怕是只放一个命令按钮在窗体上都没有办法显示结果)