vb.net判断组合键 vba判断是否在数组中

vb.net 怎么知道按下了多个按键

用API  GetKeyboardState ,判断所有的键里哪些被按下了。

成都创新互联是专业的牟定网站建设公司,牟定接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行牟定网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

下面的是判断键盘灯的状态

Public Class NativeMethods

Private Shared keyState() As Byte

DllImport("user32.dll") _

Private Shared Function GetKeyboardState(ByVal keyState() As Byte) As Boolean

End Function

Private Shared Sub Update()

keyState = New Byte(256) {}

Dim result As Boolean = GetKeyboardState(keyState)

' Check for error:

If result = False Then

Debug.WriteLine("GetKeyBoardState error: "  Marshal.GetLastWin32Error)

Throw New Exception("GetKeyBoardState error: "  Marshal.GetLastWin32Error)

End If

End Sub

Public Enum LightState

Off

[On]

End Enum

' Example - the keyboard lights...

Public Shared ReadOnly Property CapsLockState() As LightState

Get

Update()

Dim isOn As Boolean = (keyState(Keys.CapsLock) = 1)

Return IIf(isOn, LightState.On, LightState.Off)

End Get

End Property

Public Shared ReadOnly Property NumLockState() As LightState

Get

Update()

Dim isOn As Boolean = (keyState(Keys.NumLock) = 1)

Return IIf(isOn, LightState.On, LightState.Off)

End Get

End Property

Public Shared ReadOnly Property ScrollLockState() As LightState

Get

Update()

Dim isOn As Boolean = (keyState(Keys.Scroll) = 1)

Return IIf(isOn, LightState.On, LightState.Off)

End Get

End Property

End Class

VB中如何判断组合键Ctrl+C键?

Private Sub Form_Load()

Me.KeyPreview = True

End Sub

'让窗体响应键盘事件

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = 2 And chr(keycode)="C" then

msgbox "你按下了ctrl + C"

end if

End Sub

'当ctrl键被按下 和 “C”键被按下 弹出提示信息 "你按下了ctrl + C"

'keydown是键盘按下事件 里面的shift的值为:

'Shift=1 按了 Shift

'Shift=2 按了 Ctrl

'Shift=3 按了 Shift+Ctrl

'Shift=4 按了 Alt

'Shift=5 按了 Shift+Alt

'Shift=6 按了 Ctrl+Alt

'Shift=7 按了 Alt+Shift+Ctrl

'就是当Alt+Shift+Ctrl都被按下的时候 shift返回值为7

'当shift=0 时 表示什么也没有被按下

VB.NET组合键

直接设置貌似不行 可以在窗体的 KeyDown事件里面写Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

MsgBox("快捷键设置成功")

End Sub

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

If e.Shift And e.KeyCode = Keys.C Then

Button1_Click(sender, e)

End If

End Sub

End Class

VB.net的快捷键

1. F12:转到定义;Shift+F12:转到引用

2. F5:启动;Ctrl+F5:开始执行(不调试);Shift+F5:停止调试

3. F7:查看代码;Shift+F7:查看视图设计器

4. Ctrl+Alt+L:解决方案资源管理器

5. Ctrl+Alt+J:对象浏览器

6. F4:显示属性窗口

7. Ctrl+Alt+X:工具箱

8. Ctrl+Alt+C类视图

9. Alt+Enter:查看属性

10.F10:逐过程调试

11.F11:逐语句调试

12.Ctrl+B:新断点

13.Ctrl+Shift+F9:清除所有断点

14.Ctrl+Shift+B生成解决方案

15.Shift+Alt+Enter:全屏

16.大纲显示:Ctrl+M, Ctrl+M:切换大纲显示展开;Ctrl+M, Ctrl+L:切换所有大纲显示;Ctrl+M,Crtl+P停止大纲显示;Ctrl+M, Ctrl+O:折叠到定义

17.智能感知:Ctrl+J:列出成员;Ctrl+Shift+空格:参数信息; Ctrl+K,Ctrl+I:快速信息;Alt+右箭头键:完成单词


分享文章:vb.net判断组合键 vba判断是否在数组中
转载来于:http://azwzsj.com/article/dddgdgj.html