VB.NET 怎样识别用户按下的 Shift 按键??[2]

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:03:30
VB.NET 中通过控件的 KeyDown 事件中的 System.Windows.Forms.KeyEventArgs 类型

参数可以知道用户按下了键盘的那个按键。

但是无论我按左边或右边的 Shift 都只能够知道 Shift 被按下了。

怎样才能知道用户按下的 Shift 是 左边 的还是 右边 的?

需要用api实现 给你代码吧 咋不给点分啊?

Public Class Form1
Private Const KeysM = &H8000
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
Me.Text = e.KeyValue
If e.KeyValue = Keys.ShiftKey And GetAsyncKeyState(160) And KeysM Then
MsgBox("你按的是左SHIFT")
ElseIf e.KeyValue = Keys.ShiftKey And GetAsyncKeyState(161) And KeysM Then
MsgBox("你按的是右SHIFT")
End If
End Sub
End Class

左SHIFT的枚举值lshiftkey 右shift的枚举值rshiftkey