timer替换颜色

来源:百度知道 编辑:UC知道 时间:2024/09/22 03:54:44
我想让按下A的时候picture2的背景颜色500毫秒一变,
但是我这样写,不能一直按,如果一直按着键颜色一直为红色,不变了。
代码如下:
Dim bh As Integer
Private Sub picture1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 65 Or KeyCode = 68 Or KeyCode = 87 Or KeyCode = 83 Then
Timer1.Enabled = True
bh = 1
Else
Timer1.Enabled = False
End If
Select Case KeyCode
Case 65
Picture2.Left = Picture2.Left - 50
Case 68
Picture2.Left = Picture2.Left + 50
Case 87
Picture2.Top = Picture2.Top - 50
Case 83
Picture2.Top = Picture2.Top + 50
End Select

End Sub

Private Sub Timer1_Timer()
If bh = 1 Then
Picture2.BackColor = RGB(200, 20, 20)
bh = bh + 1
Else
Picture2.BackColor = RGB(20, 200, 20)
End If

End Sub
我代码应该怎么写,这样写哪里错了,求解。。谢谢了
1楼没通过,当一直按键会一直是绿色的,

不好意思,重新该好,代码通过了
Dim bh As Integer

Private Sub Picture2_KeyPress(KeyAscii As Integer)
Timer1.Interval = 500
If KeyAscii = 97 Then Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
bh = bh + 1
If bh Mod 2 = 1 Then
Picture2.BackColor = RGB(200, 20, 20)

Else
Picture2.BackColor = RGB(20, 200, 20)
End If

End Sub