在visual basic中以不同的时间间隔创建和设置标签以“闪烁”6

时间:2015-05-29 01:43:36

标签: vb6

正如我的标题所提到的,我需要帮助来解决这个问题。只是一些额外的信息,我不打算使用任何命令按钮。我只想完全依赖计时器。我还希望标签停止'闪烁'并在20秒后可见。我提供了我的代码。我当然知道我的编码存在问题,因为我是VB新手并且还在学习。希望这里的任何人都能提供帮助。非常感谢。(顺便说一句,请原谅我,如果我在创建线程时犯了任何错误,请告诉我,因为我是新用户。)

Private Sub tmrBlink_Timer()
Dim i%
i = i + 1

Do 
    lblBlink1Sec.Visible = Not lblBlink1Sec.Visible
    Do
        tmrBlink.Interval = 2000
        lblBlink2Sec.Visible = Not lblBlink2Sec.Visible
    Loop Until i <= 10
        Do
            tmrBlink.Interval = 5000 
            lblBlink5Sec.Visible = Not lblBlink5Sec.Visible
        Loop Until i <= 4
Loop Until i <= 20

End Sub

2 个答案:

答案 0 :(得分:1)

嗯,我希望你看一下以下的代码。

Private Sub Timer1_Timer()
Static a As Integer 'A counter which will not be reinitialized
If a Mod 2 = 0 Then  'Check whether the value of the counter is odd or even?
    Label1.Visible = True
Else: Label1.Visible = False
End If
a = a + 1            'Increment the counter
If a = 20 Then 
     Timer1.Enabled = False 'code to stop your blikning after 20 seconds
     label1.visible=false
end if
End Sub

每个计时器间隔都有一个变量a。在每个定时器间隔之后,它将递增并将在奇数和偶数值之间切换。

答案 1 :(得分:0)

感谢Thomas,Jac和Anish的建议和反馈。只是我的回答是中途回答。也许我的问题不够清楚。我需要制作3个标签&#39;闪烁&#39;分别在1秒,2秒和5秒停止&#39;但在20秒后可见。

If a Mod 2 = 0 Then  'Check whether the value of the counter is odd or even?
    Label1.Visible = True
    Label2.Visible = Not Label2.Visible
    Label5.visible = True
    Elseif a Mod 5 = 0 Then
        Label1.Visible = True
        Label2.Visible = True
        Label5.Visible = Not Label5.Visible
            Else 
                Label1.Visible = Not Label1.Visible
                Label2.Visible = True
                Label5.Visible = True    
End If
a = a + 1            'Increment the counter
If a = 20 Then 
   Timer1.Enabled = False 'code to stop your blinking after 20 seconds
   label1.Visible = True
   Label2.Visible = True
   Label5.Visible = True  
End if
End Sub

我对代码进行了一些修改,并使用label1,2,5来表示我需要它的时间“闪烁”。请给我一些关于编码的反馈。非常感谢你。 :)