如何检查在VB中按下的键

Posted

技术标签:

【中文标题】如何检查在VB中按下的键【英文标题】:How to check the key pressed in 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() 【参考方案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 的其他属性来获取有关密钥的信息。

【讨论】:

干杯,这正是我想要的!谢谢!

以上是关于如何检查在VB中按下的键的主要内容,如果未能解决你的问题,请参考以下文章

检测在 VB6 输入框中按下的取消

检测按下的键何时是第一个字符

Java使用扫描仪输入键按下

控制台检查按下的键,就像在 monogame 中一样

鼠标右键按下和放开的键代码是多少

如何禁用在android片段类中按下的后退按钮