只用一个shape控件和一个标签、一个timer控件就可以完成。以下是代码:事先设标签的caption为5,timer的interval为1000,shape的backcolor为红色。
Private Sub Timer1_Timer()
Static n As Integer
Shape1.BackStyle = 1
If Label1.Caption = " 0" Then
If Shape1.BackColor = RGB(255, 0, 0) Or Shape1.BackColor = RGB(0, 255, 0) Then
Label1.Caption = "4"
Else
Label1.Caption = "6"
End If
n = n + 1
End If
Label1.Caption = Str(Val(Label1.Caption) - 1)
Select Case n Mod 4
Case 0
Shape1.BackColor = RGB(255, 0, 0)
Case 1, 3
Shape1.BackColor = RGB(255, 255, 0)
Case 2
Shape1.BackColor = RGB(0, 255, 0)
End Select
End Sub
做了一个如图所示三种颜色按时间设置轮流倒计时的交通灯,只用了计时器控件,没有用其他控件,红黄绿灯包括时间显示,全部用画图实现。