VB中如何判断组合键Ctrl+C键?

2024-11-29 09:49:20
推荐回答(3个)
回答1:

Private Sub Form_Load()
Me.KeyPreview = True
End Sub
'让窗体响应键盘事件
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And chr(keycode)="C" then
msgbox "你按下了ctrl + C"
end if
End Sub
'当ctrl键被按下 和 “C”键被按下 弹出提示信息 "你按下了ctrl + C"

'keydown是键盘按下事件 里面的shift的值为:
'Shift=1 按了 Shift
'Shift=2 按了 Ctrl
'Shift=3 按了 Shift+Ctrl
'Shift=4 按了 Alt
'Shift=5 按了 Shift+Alt
'Shift=6 按了 Ctrl+Alt
'Shift=7 按了 Alt+Shift+Ctrl
'就是当Alt+Shift+Ctrl都被按下的时候 shift返回值为7
'当shift=0 时 表示什么也没有被按下

回答2:

Private Sub Form_Load()
Me.AutoRedraw = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 67 Then Print "ctrl+c"
End Sub

'shift=0 按了 Cops Lock
'Shift=1 按了 Shift
'Shift=2 按了 Ctrl
'Shift=4 按了 Alt

回答3:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = vbKeyC Then
MsgBox "Ctrl+C"
End If
End Sub