【问题标题】:keyboard input with ctrl,alt, shift + key使用 ctrl、alt、shift + 键的键盘输入
【发布时间】:2013-08-30 21:46:38
【问题描述】:

我正在为我的代码编写一些键盘输入,但我无法弄清楚如何获取需要 ctrlalt 的键shift 输入。 我试过这个,但这只是在我按下 alt 键时使键工作。 我正在尝试使用不在小键盘上的 + 按钮。

Case Keys.ShiftKey And Keys.Oemplus
            BTB_plus.PerformClick()

而使用 keys.Shift 什么都不做

此外,如果有人列出了 VB.NET 中哪个键具有什么名称,我们将不胜感激。 (或关于这个主题的好教程)

如果有人可以发布选择案例语句的代码,我会更喜欢,谢谢

【问题讨论】:

  • F1 on Control.ModifierKeys 和 Keys Enumeration

标签: vb.net keyboard-events alt


【解决方案1】:

如果您想使用 case 语句,我会执行此操作:

Dim bHandled As Boolean = False
    Select Case e.Modifiers
        Case Keys.Control
            If e.KeyCode = Keys.Oemplus Then
                MsgBox("KeyPress CTRL + OEMPLUS")
                e.Handled = True
            End If

            If e.KeyCode = Keys.A Then
                MsgBox("KeyPress CTRL + A")
                e.Handled = True
            End If


        Case Keys.Shift
            If e.KeyCode = Keys.Oemplus Then
                MsgBox("KeyPress Shift + OEMPLUS")
                e.Handled = True
            End If

            If e.KeyCode = Keys.A Then
                MsgBox("KeyPress Shift + A")
                e.Handled = True
            End If

    End Select

【讨论】:

  • 谢谢!但是bHandled 是干什么用的?我没有看到它在减速后再次在代码中使用。还是错字?
  • 很抱歉您不需要 bHandled 部分。
【解决方案2】:

这应该能让你到达那里:)

If e.KeyCode = Keys.Oemplus And e.Modifiers = Keys.Control Then
    MsgBox("KeyPress CTRL + OEMPLUS")
    e.Handled = True
End If

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx

【讨论】:

  • 我的键盘输入写在一个 select case 语句中,你知道如何写吗? Case Keys.Oemplus And e.Modifiers = Keys.Shift BTB_plus.PerformClick() e.Handled = True 这段代码给了我e.modifiers = keys.shif 部分的错误
猜你喜欢
  • 1970-01-01
  • 2020-10-30
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 2012-01-04
  • 1970-01-01
相关资源
最近更新 更多