VB键盘判断按键
请问怎么判断用户是否按了回车键会在标签控件中显示1退格键会在标签控件中显示2和其他的键盘键子会在标签控件中显示2求代码示例谢谢...
请问怎么判断用户是否按了回车键会在标签控件中显示1 退格键会在标签控件中显示2 和其他的键盘键子会在标签控件中显示2 求代码示例 谢谢
展开
5个回答
展开全部
如果是在自己的程序中,可以利用自身的按键事件,如果是全局键盘,那就要用到键盘hook技术了,比较复杂。
Private Sub Form_Load()
Label1.Caption = ""
Text1 = ""
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then '回车键
Label1.Caption = 1
ElseIf KeyAscii = 8 Then '退格键
Label1.Caption = 2
Else '其他按键
Label1.Caption = 3
End If
Me.Cls
Print KeyAscii
End Sub
推荐于2018-03-19
展开全部
假设窗体是Form1,标签控件是Label1,代码如下:
Private Sub Form1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 13
Label1.Caption = 1
Case 8
Label1.Caption = 2
Case Else
Label1.Caption = 2
End Select
End Sub
在VBA中测试OK。我没有VB。
Private Sub Form1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 13
Label1.Caption = 1
Case 8
Label1.Caption = 2
Case Else
Label1.Caption = 2
End Select
End Sub
在VBA中测试OK。我没有VB。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
Private Declare Function GetAsyncKeyState Lib "user32" ( ByVal vKey As Long) As Integer '声明一个api,判断指定键是否按下Private Sub timer1_timer()If GetAsyncKeyState(vbKeyReturn) Then
Label1.Caption = "回车"
ElseIf GetAsyncKeyState(vbKeyBack) Then
Label1.Caption = "退格"
ElseIf GetAsyncKeyState(vbKeyControl) Then
Label1.Caption = "控制键ctrl"ElseIf GetAsyncKeyState(vbKeyShift) Then
Label1.Caption = "功能键shift"
ElseIf GetAsyncKeyState(vbKeyMenu) Then
Label1.Caption = "菜单键alt"
ElseIf GetAsyncKeyState(vbKey1) Then
Label1.Caption = "数字键1"
ElseIf GetAsyncKeyState(vbKey2) Then
Label1.Caption = "数字键2"
'......这里我不在列举,你自己添加需要的if分支,参数vbkey***为键码常量,你自己查询,label对应显示什么信息自己改End If
End SubPrivate Sub Form_Load()
Label1.Caption = "还没右键按下"
Timer1.Interval = 5
Timer1.Enabled = True
End Sub
'加上一个timer,一个label就ok。
Label1.Caption = "回车"
ElseIf GetAsyncKeyState(vbKeyBack) Then
Label1.Caption = "退格"
ElseIf GetAsyncKeyState(vbKeyControl) Then
Label1.Caption = "控制键ctrl"ElseIf GetAsyncKeyState(vbKeyShift) Then
Label1.Caption = "功能键shift"
ElseIf GetAsyncKeyState(vbKeyMenu) Then
Label1.Caption = "菜单键alt"
ElseIf GetAsyncKeyState(vbKey1) Then
Label1.Caption = "数字键1"
ElseIf GetAsyncKeyState(vbKey2) Then
Label1.Caption = "数字键2"
'......这里我不在列举,你自己添加需要的if分支,参数vbkey***为键码常量,你自己查询,label对应显示什么信息自己改End If
End SubPrivate Sub Form_Load()
Label1.Caption = "还没右键按下"
Timer1.Interval = 5
Timer1.Enabled = True
End Sub
'加上一个timer,一个label就ok。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
退格键会在标签控件中显示2 ,和其他的键盘键子会在标签控件中显示2Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1.Caption = "1"
Else
Label1.Caption = "2"
End If
End Sub 退格键会在标签控件中显示2Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1.Caption = "1"
Elseif KeyAscii = 8 then
Label1.Caption = "2"
End If
End Sub
If KeyAscii = 13 Then
Label1.Caption = "1"
Else
Label1.Caption = "2"
End If
End Sub 退格键会在标签控件中显示2Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1.Caption = "1"
Elseif KeyAscii = 8 then
Label1.Caption = "2"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
If e.KeyCode = Keys.Enter Then
Me.TextBox1.Text = 1
Else e.KeyCode = Keys.Back Then
Me.TextBox1.Text = 2
End If 不知道你是不是6.0 这个是.NET 如果是6.0 这个不行
Me.TextBox1.Text = 1
Else e.KeyCode = Keys.Back Then
Me.TextBox1.Text = 2
End If 不知道你是不是6.0 这个是.NET 如果是6.0 这个不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询