在运行timer事件前设置个标志,运行一次后修改这个标志,判断这个标志不就可以了?

解决方案 »

  1.   

    在TIMER过程里设置一个计数器,执行一次或N次后将TIMER.ENABLE属性设置成FALSE就OK了!
      

  2.   

    在TIMER引发的事件中加一条判断满足后将TIMER的enable设置FALSE
      

  3.   

    up
    Dim n As IntegerPrivate Sub Timer1_Timer()
    n = n + 1
    If n = j Then Timer1.Enabled = False   ‘j为次数
    End Sub
      

  4.   

    Dim PauseTime, Start, Finish, TotalTime
    If (MsgBox("Press Yes to pause for 5 seconds", 4)) = vbYes Then
       PauseTime = 5   ' 设置暂停时间。
       Start = Timer   ' 设置开始暂停的时刻。
       Do While Timer < Start + PauseTime
          DoEvents   ' 将控制让给其他程序。
       Loop
       Finish = Timer   ' 设置结束时刻。
       TotalTime = Finish - Start   ' 计算总时间。
       MsgBox "Paused for " & TotalTime & " seconds"
    Else
       End
    End If
      

  5.   

    Private Sub Form_Load()
    Dim i, j As Integer
    i = 1
    Timer1.Interval = 500
    End SubPrivate Sub Timer1_Timer()
    i = i + 1
    If i = 2 * j Then
    Frame2.Visible = False
    Frame1.Visible = True
    Else
    Frame1.Visible = False
    Frame2.Visible = True
    End If
    End Sub这个代码那里错了,运行后没有预期的目的
    是不是我表示偶数的方法不对?应该怎么写?
      

  6.   

    你定义局部变量的范围不对。应该是这样
    Dim i as Integer, j As IntegerPrivate Sub Form_Load()
    i = 1
    Timer1.Interval = 500
    j=5
    End SubPrivate Sub Timer1_Timer()
    i = i + 1
    If i = 2 * j Then
    Frame2.Visible = False
    Frame1.Visible = True
    Else
    Frame1.Visible = False
    Frame2.Visible = True
    End If
    timer1.enable=false
    End Sub
      

  7.   

    cngxylyh(olo) 
    谢谢了,我的意思是,我希望,当i为偶数的时候,frame1可见,i为奇数的则frame2可见,也就是让frame1,2交替出现,我写的代码错在哪里?
      

  8.   

    '在通用区中声明为窗体级的变量, 不要用数量变量,以防溢出。
    Dim i As booleanPrivate Sub Form_Load()
    Timer1.Interval = 500
    End SubPrivate Sub Timer1_Timer()
    i = not i
    If i Then
    Frame2.Visible = False
    Frame1.Visible = True
    Else
    Frame1.Visible = False
    Frame2.Visible = True
    End If
    End Sub
      

  9.   

    Public n As Integer, j As Integer
    Private Sub Timer1_Timer()
    n = n + 1
    If n = j Then 
    Timer1.Enabled = False 'j为次数
    Else
    *******
    *******
    End If
    End Sub