【问题标题】:How to check the key pressed in VB如何检查在VB中按下的键
【发布时间】:2016-03-18 08:50:09
【问题描述】:

我正在尝试制作一个需要您选择热键的程序,但是您只能从我生成的代码中给出一个字符,因为我也希望能够设置 F9 之类的东西。我在这个网站上经历了一些,这是最接近我想要的。我正在使用 Visual Studio 2013。

这是我到目前为止所得到的。

Private Sub Configure_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
    MsgBox("Your new hotkey is: " & e.KeyChar)
End Sub

提前致谢。

【问题讨论】:

  • KeyPress 事件不是由空格和退格以外的非字符键引发的;但是,非字符键确实会引发 KeyDownKeyUp 事件。
  • 干杯,我会试试的。
  • 不客气 :) 我还为您发布了示例代码。希望对您有所帮助。
  • 如果你的意思是字符串表示,你可以使用.ToString()

标签: vb.net winforms visual-studio-2013 hotkeys registerhotkey


【解决方案1】:

KeyPress 事件不是由空格和退格以外的非字符键引发的;但是,非字符键确实会引发 KeyDownKeyUp 事件。

TextBox1ReadOnly 属性设置为true 并处理keyDown 事件:

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox2.KeyDown
    Me.TextBox1.Text = e.KeyData.ToString()
End Sub 

这还会在文本框中显示组合键,例如,如果您按 Ctrl + Shift + F9 您将看到 @987654333 @ 在文本框中。

您可以使用KeyCodeModifiersKeyEventArgs 的其他属性来获取有关密钥的信息。

【讨论】:

  • 干杯,这正是我想要的!谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
相关资源
最近更新 更多