我正在尝试创建一个简单的程序,在keydown时更改图片框中的图像,并在键启动时更改回来。我已经在网上看了一下,并尝试了各种论坛帖子中的一些内容,但是它们似乎都没有以我当前应用它们的方式工作。
这是我自己编写的原始代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
While True
If Control.ModifierKeys = Keys.D1 Then
PictureBox1.Image = My.Resources.balloon_glow
ElseIf Control.ModifierKeys = Keys.D2 Then
PictureBox2.Image = My.Resources.balloon_glow
ElseIf Control.ModifierKeys = Keys.D3 Then
PictureBox3.Image = My.Resources.balloon_glow
Else
PictureBox1.Image = My.Resources.balloon_dark
PictureBox2.Image = My.Resources.balloon_dark
PictureBox3.Image = My.Resources.balloon_dark
End If
End While
End Sub
这里是我对当前版本的代码进行了几次不同的尝试:
Private Sub KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode.Equals(Keys.D1) Then
PictureBox1.Image = My.Resources.balloon_glow
ElseIf e.KeyCode.Equals(Keys.D2) Then
PictureBox2.Image = My.Resources.balloon_glow
ElseIf e.KeyCode.Equals(Keys.D3) Then
PictureBox3.Image = My.Resources.balloon_glow
Else
PictureBox1.Image = My.Resources.balloon_dark
PictureBox2.Image = My.Resources.balloon_dark
PictureBox3.Image = My.Resources.balloon_dark
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Call KeyPress(sender, e)
End Sub
所以,总的来说,我尝试了一些不同的语法,以及循环和程序的不同方法,但似乎没有任何工作。是否有人可以让我找到工作位置并解释它?谢谢。
答案 0 :(得分:0)
我不确定你到底想做什么,但这可能会有所帮助......
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode.Equals(Keys.D1) Then
PictureBox1.Image = My.Resources.balloon_glow
ElseIf e.KeyCode.Equals(Keys.D2) Then
PictureBox2.Image = My.Resources.balloon_glow
ElseIf e.KeyCode.Equals(Keys.D3) Then
PictureBox3.Image = My.Resources.balloon_glow
Else
PictureBox1.Image = My.Resources.balloon_dark
PictureBox2.Image = My.Resources.balloon_dark
PictureBox3.Image = My.Resources.balloon_dark
End If
End Sub
如果您希望它们立即恢复,您可能需要Form1_KeyUp中的类似内容。
答案 1 :(得分:0)
试试这个...结合其中一个并释放其中一个:
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.D1
PictureBox1.Image = My.Resources.balloon_glow
Case Keys.D2
PictureBox2.Image = My.Resources.balloon_glow
Case Keys.D3
PictureBox3.Image = My.Resources.balloon_glow
End Select
End Sub
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
Select Case e.KeyCode
Case Keys.D1
PictureBox1.Image = My.Resources.balloon_dark
Case Keys.D2
PictureBox2.Image = My.Resources.balloon_dark
Case Keys.D3
PictureBox3.Image = My.Resources.balloon_dark
End Select
End Sub