vb.net - 如何将键(例如“A”)链接到按钮?
问题描述
我在 VB 中创建游戏,每个图像有 4 个图像和 4 个按钮,当然现在我可以用鼠标单击按钮来选择一个选项,但我想输入字母“A”,“S”,键盘的“D”、“F”来激活每个按钮。
你怎么能在VB中做到这一点?
我当前的按钮代码如下
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
My.Computer.Audio.Stop()
My.Computer.Audio.Play ("D:\VisualStudio\DIFgame\sounds\correctSound.wav") 'correct sound audio
Cara.Visible = True 'show face
End Sub
解决方案
您应该将 Form 的 KeyPreview 属性(文档)设置为True
,然后在 Form 的 KeyDown 事件(文档)中检查传入的 KeyCode。如果它与您想要的快捷方式之一匹配,则引发按钮的事件。
就像是:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
If (e.KeyCode = Keys.A) Then
RaiseEvent Button1.Click
End If
End Sub
推荐阅读
- java - java.lang.NullPointerException:尝试调用虚拟方法'java.lang.String android.os.Bundle.getString(java.lang.String)'
- mysql - 在 MY-SQL 中将多个不存在的值一起插入。其中“NULL”应该是唯一的
- awk - 如何在双引号内使用 awk 变量?
- c - 这段代码是什么意思?fopen (pthis -> fname,w)
- hadoop - 如何使用 InputStream 读取 orcFile?
- apache-spark - 在 Spark 中安排任务
- javascript - 我收到 [Violation] 'setInterval' 处理程序在 chrome dev 中收到 N ms 警告,然后该应用程序被冻结
- c - 如何在c中的for循环中实现协程
- pdf - 互操作 PowerPoint 笔记页面
- spring-security - Spring:Mvc Rest api error=“invalid_grant”,error_description=“Bad credentials” in Spring oauth2 jdbc