還是要利用API以下為轉貼: 先声明API函数Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer '判断函数调用时指定虚拟键的状态 在设一个timer控件 Private Sub Timer2_Timer() If MyHotKey(vbKeyF2) Then Form_KeyDown vbKeyF2, 0 '新增 If MyHotKey(vbKeyF3) Then Form_KeyDown vbKeyF3, 0 '修改 If MyHotKey(vbKeyF4) Then Form_KeyDown vbKeyF4, 0 '删除 If MyHotKey(vbKeyF5) Then Form_KeyDown vbKeyF5, 0 '取消 If MyHotKey(vbKeyF6) Then Form_KeyDown vbKeyF6, 0 '保存 If MyHotKey(vbKeyF7) Then Form_KeyDown vbKeyF7, 0 '查询 If MyHotKey(vbKeyF8) Then Form_KeyDown vbKeyF8, 0 '打印 If MyHotKey(vbKeyEscape) Then Form_KeyDown vbKeyEscape, 0 '退出 End Sub Private Function MyHotKey(vKeyCode) As Boolean '判断热键状态 MyHotKey = False MyHotKey = (GetAsyncKeyState(vKeyCode) < 0) End Function Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If Screen.ActiveForm.Name <> Me.Name Then Exit Sub Select Case KeyCode Case vbKeyF2 '新增盘库单 ' MsgBox "add" Case vbKeyF3 '修改 ' MsgBox "edit" Case vbKeyF4 '删除 ' MsgBox "delete" Case vbKeyF5 '取消 ' MsgBox "cancel" Case vbKeyF6 '保存 ' MsgBox "save" Case vbKeyF7 '查询 ' MsgBox "find" Case vbKeyF8 '打印 ' MsgBox "print" Case vbKeyEscape '退出 ' MsgBox "exit" End Select End Sub
先声明API函数Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer '判断函数调用时指定虚拟键的状态
在设一个timer控件
Private Sub Timer2_Timer()
If MyHotKey(vbKeyF2) Then Form_KeyDown vbKeyF2, 0 '新增
If MyHotKey(vbKeyF3) Then Form_KeyDown vbKeyF3, 0 '修改
If MyHotKey(vbKeyF4) Then Form_KeyDown vbKeyF4, 0 '删除
If MyHotKey(vbKeyF5) Then Form_KeyDown vbKeyF5, 0 '取消
If MyHotKey(vbKeyF6) Then Form_KeyDown vbKeyF6, 0 '保存
If MyHotKey(vbKeyF7) Then Form_KeyDown vbKeyF7, 0 '查询
If MyHotKey(vbKeyF8) Then Form_KeyDown vbKeyF8, 0 '打印
If MyHotKey(vbKeyEscape) Then Form_KeyDown vbKeyEscape, 0 '退出
End Sub
Private Function MyHotKey(vKeyCode) As Boolean '判断热键状态
MyHotKey = False
MyHotKey = (GetAsyncKeyState(vKeyCode) < 0)
End Function
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Screen.ActiveForm.Name <> Me.Name Then Exit Sub
Select Case KeyCode
Case vbKeyF2 '新增盘库单
' MsgBox "add"
Case vbKeyF3 '修改
' MsgBox "edit"
Case vbKeyF4 '删除
' MsgBox "delete"
Case vbKeyF5 '取消
' MsgBox "cancel"
Case vbKeyF6 '保存
' MsgBox "save"
Case vbKeyF7 '查询
' MsgBox "find"
Case vbKeyF8 '打印
' MsgBox "print"
Case vbKeyEscape '退出
' MsgBox "exit"
End Select
End Sub