注册密钥按下按钮单击Visual Basic

时间:2015-07-02 20:38:45

标签: vb.net events keypress basic

我正在尝试创建一个简单的程序,在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

所以,总的来说,我尝试了一些不同的语法,以及循环和程序的不同方法,但似乎没有任何工作。是否有人可以让我找到工作位置并解释它?谢谢。

2 个答案:

答案 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