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

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

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

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

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

这就要调用API函数了 给你代码吧 记得给点分啊

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