VB.NET 怎样识别用户按下的 Shift 按键??[2]
来源:百度知道 编辑:UC知道 时间:2024/05/18 01:03:30
VB.NET 中通过控件的 KeyDown 事件中的 System.Windows.Forms.KeyEventArgs 类型
参数可以知道用户按下了键盘的那个按键。
但是无论我按左边或右边的 Shift 都只能够知道 Shift 被按下了。
怎样才能知道用户按下的 Shift 是 左边 的还是 右边 的?
参数可以知道用户按下了键盘的那个按键。
但是无论我按左边或右边的 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