作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,这就是我的困境。这是我的代码:
If e.KeyCode = Keys.A Then
TextBox1.AppendText("C, ")
PictureBox2.Visible = True
My.Computer.Audio.Play(My.Resources.C, AudioPlayMode.Background)
End If
现在,当我在 Form1_KeyDown 下输入此内容时,Visual Basic 会认为:
'KeyCode 不是'System.EventArgs' 的成员
现在我已经看到这段代码可以工作,但它不在这里。有什么帮助吗?
完整代码如下:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.A Then
TextBox1.AppendText("A, ")
PictureBox2.Visible = True
My.Computer.Audio.Play(My.Resources.C, AudioPlayMode.Background)
End If
If e.KeyCode = Keys.S Then
TextBox1.AppendText("C,")
PictureBox14.Visible = True
My.Computer.Audio.Play(My.Resources.D, AudioPlayMode.Background)
End If
End Sub
最佳答案
不确定为什么方法定义将 e
声明为 EventArgs
,但修复方法只是将参数设置为 KeyEventArgs
类型。这是因为 EventArgs
(自然)不包含名为 KeyCode
的属性,但 KeyEventArgs
包含!
将事件处理程序方法定义更改为以下内容:
Private Sub foo_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.A Then
TextBox1.AppendText("A, ")
PictureBox2.Visible = True
My.Computer.Audio.Play(My.Resources.C, AudioPlayMode.Background)
ElseIf e.KeyCode = Keys.S Then
TextBox1.AppendText("C,")
PictureBox14.Visible = True
My.Computer.Audio.Play(My.Resources.D, AudioPlayMode.Background)
End If
End Sub
关于vb.net - 如何在 VB.NET 中处理 KeyDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1177819/
我是一名优秀的程序员,十分优秀!