VB KeyCode事件无法触发

来源:百度知道 编辑:UC知道 时间:2024/05/16 02:35:15
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Const ctrl = 2
'-----------------------------------------------------------
'当同时按下 Ctrl+l 时,显示隐藏信息(KeyCode=76 为 字母 l)
'-----------------------------------------------------------
If (Shift And ctrl > 0) And KeyCode = 76 Then
n = MsgBox("llll", , "Hidden Information")
End If
'------------------------------------------------------------
'当同时按下 Ctrl+s 时,触发另一个隐藏信息,此信息需要密码验证
'------------------------------------------------------------
If (Shift And crtl > 0) And KeyCode = 83 Then
frmAbout.Show vbModal, Me '调出密码输入窗体,同时本窗体不可用,直到密码输入窗体关闭
End If
End Sub

执行这样的代码,可是发现,KeyCode事件无法触发,只能触发 KeyPress事件,为什么啊

改这样
Private Sub Form_KeyPress(KeyAscii As Integer)
'//Ctrl+i
If KeyAscii = 9 Then n = MsgBox("llll", , "Hidden Information")
'//Ctrl+s
If KeyAscii = 19 Then frmAbout.Show vbModal, Me
End Sub

(Shift And ctrl > 0)是什么意思?

KeyDown和KeyPress一起写好像会这样。

If (Shift And ctrl > 0... 这段代码有问题
应该是 If Shift = VBCtrlMask And KeyCode = VBKeyI Then

!!!!!!!!!!!!!不懂。!!!