VB怎么实现键盘输入,新手问题

VB里面怎么能在TEXT里实现键盘输入啊,比如按键盘1就显示1... VB里面怎么能在TEXT里实现键盘输入啊,比如按键盘1 就显示1 展开
 我来答
百度网友d6b512e
推荐于2017-09-23 · 超过21用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:53.8万
展开全部
简单的,你的按钮什么都是放在一个窗体上吧,
默认的应该是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再去处理控件自己的,

还有不懂的可以留言问我
追问
Command1_Click

这个是无效字符

另外我Command1 用的是数组 要怎么表示?
追答
Command1_Click是我写的
你就用你自己的那个
数组的话一样
如果是1就写 Command1_Click(0)
2就是Command1_Click(1) ''注意,这是看你第一个控件编号是0,如果是1你就自己修改下

其实你是数组,那这语句可以简短一下,因为vbKeyNumpad0~9其实就是96~105(这10个常量的值)
你可以写成
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode>=96 and KeyCode=48 and KeyCode<=57 then ''因为键盘上还有一组0~9 所以需要的话再加上这段
Command1_Click(KeyCode-48)''同上面一样,数组的第一个编号是0
End If
End Sub
discovery522
推荐于2017-10-14 · TA获得超过4713个赞
知道大有可为答主
回答量:2308
采纳率:71%
帮助的人:1490万
展开全部
代码如下:

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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
barocco
2011-03-25
知道答主
回答量:63
采纳率:0%
帮助的人:22.3万
展开全部
我同意前面的朋友的建议-考虑不在界面上放置接受焦点的控件(或者设置成不接受焦点),以便实施键盘事件获取。例如可通过Form_Keypress事件获取用户所按按键的码,然后根据该码改变TEXT(当然可以是其它控件)的内容。代码如:
Private Sub Form_KeyPress(KeyAscii As Integer)
Text1.Text = Text1.Text + Chr(KeyAscii)
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
floatingsnows
2011-03-24 · TA获得超过1798个赞
知道小有建树答主
回答量:1318
采纳率:66%
帮助的人:405万
展开全部
首先,在窗体上画一个textbox ,按F5运行工程,然后鼠标在text里面点一下,然后按键盘就可以了!
追问
晕,不是这个问题
我指的是 编个计算器,上面有0-9几个按钮,我想运行的时候键盘输入1-9几个数字和按那几个按钮效果一样
追答
……其实我写个计算器,建议不要在界面放置能获得鼠标光标的控件,比如text,你如果用text显示结果,那么很容易让text被鼠标点中,这样就无法监测键盘的按下时间,当然也有解决办法,不过我觉得用label代替text比较好,你可以把label设置成和text一样的样子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fafa_12184155
2011-03-25 · TA获得超过613个赞
知道小有建树答主
回答量:797
采纳率:0%
帮助的人:599万
展开全部
如果是计算器的话,你搞个计时器,让焦点一直在text1里,+—*/的话,用2楼的方法,简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式