简单的,你的按钮什么都是放在一个窗体上吧,
默认的应该是Form1
你可以在这个窗体的键盘事件里写入:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyNumpad0
Command1_Click ''这段就是按钮1点击,等价于你在窗体上点了一下按钮,把它改成你设置的那个代表"0"的按钮
Case vbKeyNumpad1
Command2_Click ''把它改成你设置的那个代表"1"的按钮
Case vbKeyNumpad2
''
Case vbKeyNumpad3
''
''后面一样
End Select
End Sub
Select Case (http://baike.baidu.com/view/1232785.htm) 如果不会用,可以用IF语句来判断,这个函数的KeyCode就是说你在这个窗口上按下的键位置是哪些,你可以在VB6里面按下F2然后输入keycode搜索,他会列出所有的keycode成员vbKeyNumpad0~9这些就是keycode的成员
还有关键的一点.因为你放了其他控件,所以接受键盘指令的不一定是Form1,你可以修改Form1的KeyPreview=true(在属性窗口里,也可以直接把这句话丢到Load里),这属性的用处就是,只要是在这个Form1里的控件接受到的键盘指令,全部优先处理Form1再去处理控件自己的,
还有不懂的可以留言问我
代码如下:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyNumpad0
Command1_Click '这段就是按钮1点击,等价于你在窗体上点了一下按钮,把它改成你设置的那个代表"0"的按钮
Case vbKeyNumpad1
Command2_Click '把它改成你设置的那个代表"1"的按钮
Case vbKeyNumpad2
''
Case vbKeyNumpad3
....
End Select
End Sub
我同意前面的朋友的建议-考虑不在界面上放置接受焦点的控件(或者设置成不接受焦点),以便实施键盘事件获取。例如可通过Form_Keypress事件获取用户所按按键的码,然后根据该码改变TEXT(当然可以是其它控件)的内容。代码如:
Private Sub Form_KeyPress(KeyAscii As Integer)
Text1.Text = Text1.Text + Chr(KeyAscii)
End Sub
首先,在窗体上画一个textbox ,按F5运行工程,然后鼠标在text里面点一下,然后按键盘就可以了!
如果是计算器的话,你搞个计时器,让焦点一直在text1里,+—*/的话,用2楼的方法,简单