vb按钮如何设置快捷键, 10
6个回答
展开全部
设置VB窗体中按扭快捷键的操作可以采用下面两种方法来实现:
1、在按扭的Capion 属性设置标题的时候,前面增加 "&K"字符就可以,K代表的是你准备使用的Alt+键盘字符,如“&O.退出”,程序运行的时候按下 Alt+O 即执行该按扭的操作了
2、你可以利用该按扭所在的Form 窗体优先权获得键盘操作功能来激发你要完成的按扭操作,此时首先要设置Form 的KeyPreview 属性值为 True,然后在 Form中KeyDown事件中判断你需要的组合键盘值来激发你的按扭事件.
Form_KeyDown事件中的各功能键值组合比较全面,如Shift,Alt 及Ctr等,一般都能满足快捷键的组合需求了.
Exp:
利用Ctrl+O组合键激发上面所说的按扭键,在Form_KeyDown事件中添加如下代码
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 79 Then
btnQuit_Click()
End If
End Sub
btnQuit_Click()是退出程序按扭事件
1、在按扭的Capion 属性设置标题的时候,前面增加 "&K"字符就可以,K代表的是你准备使用的Alt+键盘字符,如“&O.退出”,程序运行的时候按下 Alt+O 即执行该按扭的操作了
2、你可以利用该按扭所在的Form 窗体优先权获得键盘操作功能来激发你要完成的按扭操作,此时首先要设置Form 的KeyPreview 属性值为 True,然后在 Form中KeyDown事件中判断你需要的组合键盘值来激发你的按扭事件.
Form_KeyDown事件中的各功能键值组合比较全面,如Shift,Alt 及Ctr等,一般都能满足快捷键的组合需求了.
Exp:
利用Ctrl+O组合键激发上面所说的按扭键,在Form_KeyDown事件中添加如下代码
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 79 Then
btnQuit_Click()
End If
End Sub
btnQuit_Click()是退出程序按扭事件
追问
不要组合的
追答
如果不需要组合键的话,可以在 Form_KeyPress()事件中来判断需要的键盘值.
Exp:
想用键盘值[K]控制窗体上的一个按扭 Command2_Click()事件
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 107 Then '键盘K的Ascii码值=107
Call Command2_Click()
End If
End Sub
展开全部
'给你举个简单的例子
Private Sub Form_Load()
Command1.Caption = "我是Q的快捷键&Q" '你可以把&后面的字母改成你需要快捷键的字母
End Sub
Private Sub Command1_Click()
MsgBox "你按了Ait+Q"
End Sub
'请参考采纳!谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Form_Load()
Timer1.Interval = 300 '设定检测间隔
End Sub
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyQ) Then ' 判断你需要的快捷键是否按下,这里使用“Q”
Call Command1_click '按下按钮
Else
End If
End Sub
还有第二种方法
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKey1 Then ‘按下1键
Call Command1_Click
end if
End Sub
注意这是form的keydown事件,要求form必须具有焦点
请参考,采纳,谢谢
更多追问追答
追问
用不了 怎么办。?
追答
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Command1_Click()
MsgBox "Command1被按下"
End Sub
Private Sub Form_Load()
Timer1.Interval = 300 '设定检测间隔
End Sub
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyQ) Then ' 判断按键Q
Call Command1_Click
Else
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置快捷键 要定义 key.ini(键值对) 这样配置文件,例如
开始=45
快跑=46
....类似这样的,然后45,46是 字母对应的ASCII码表。
开始=45
快跑=46
....类似这样的,然后45,46是 字母对应的ASCII码表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询