按某几个键后,按Enter键后,自动显示到了文本框。(vb.net)

vb.net的一个问题,现想实现功能:当crl+B后,输入AA2313,按Enter键后,就自动显示到了第一个文本框。但第一个文本框对应第一个字母是必须是A。其它不行。不... vb.net的一个问题,现想实现功能:当crl+B后,输入AA2313,按Enter键后,就自动显示到了第一个文本框。但第一个文本框对应第一个字母是必须是A。其它不行。不按crl+B,随便输入何值,都不可显示。好像复杂了一点。小弟已搞了一天,没有搞出来。请各位大哥指点。
狮儿兄回答大概意思我已了解。
if Shift = 2 And KeyCode = 66 Then
在vbnet中应改为
If e.KeyCode = e.Shift And e.KeyCode = Keys.B Then
。。。。。
你上述回答如果不在同一个form就不能很好的执行了。
我已找到了一种方法解决此问题了。
要用到Hook。
。。。
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
..........
展开
 我来答
OneTreeWhite
2007-03-04 · TA获得超过425个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:310万
展开全部
建立 Label1 和一个 Text1 控件数组(要四个Text1) 把窗体的KeyPreview属性设置为True 然后加入如下代码:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Static AcceptInput As Boolean
Static InputSerial As Long

If Shift = 2 And KeyCode = 66 Then
AcceptInput = True
Label1.Caption = "接受输入"
InputSerial = 0
Exit Sub
End If
If AcceptInput Then
If KeyCode < 69 And KeyCode > 64 Then
If InputSerial = 0 Then
Text1(KeyCode - 65).Text = Chr(KeyCode)
InputSerial = KeyCode - 64
Else
Text1(KeyCode - 65).Text = Text1.Text & Chr(KeyCode)
End If
End If
End If
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式