在vb中,怎么在一个循环中让一个定时器定时两次 ,而在定时中间不执行后面的代码。
比如在一个自定义过程的循环中设置一个定时器开始定时,让定时器定时两次后,才能执行该自定义过程中后面的代码
假设代码如下:
  Private Sub DelCell()
    Dim I As Integer
    For I=280 To 20 STEP -20
    If Text1.Text="1" Then
      Timer1.Interval=500
      Timer1.Enabled=True
      '在这里要让定时两次
      '然后才能执行下面的操作,在这中间加入代码行
      Timer1.Enabled=False
      I=I+20
     End If
    Next I
  End Sub 
  Private Sub Timer1_Timer()
   str=" "+"1"
   PIctureBox1.Print str
  End Sub

解决方案 »

  1.   

    上面第二个自定义过程改一下如下
    Private Sub Timer1_Timer()
       str=str+" "+"1"
       PIctureBox1.Print str
      End Sub
      

  2.   

    用循环来等待就行了~不过也得要计算循环次数的,不然你不知道什么时候是定时了两次,可以退出循环!
    或许你知道str=???~又或许定义一个全局的变量来存贮计数!不过这种做法不怎么好~建议再想一想,换一个方法来实现~你就只是想picturebox打印出"1 1"??那就奇怪了~哈哈!!str = " 1 1" picture1.print str 这就行了!
    所以还请贴出确切一点的代码
      

  3.   

    定时两次我到是设了全局变量k,贴出的代码只是以最简单的方式描述一下相似的功能
    Private Sub DelCell()
        Dim I As Integer
        For I=280 To 20 STEP -20
        If Text1.Text="1" Then
          Timer1.Interval=500
          Timer1.Enabled=True
          '在这里要让定时两次
          '然后才能执行下面的操作,在这中间加入代码行
    If k=1 Then 'k为全局变量,初值k=1
          Timer1.Enabled=False
    End If
          I=I+20
         End If
        Next I
      End Sub 
      Private Sub Timer1_Timer()
    k=k*(-1)
       str=" "+"1"
       PIctureBox1.Print str
      End Sub
      

  4.   

    回复人: tmran(Rocky 爱瘦鱼) ( ) 信誉:100  2005-04-24 13:43:00  得分: 0  
    定时器事件中使用公有变量计数。循环中等待这个变量变化,不行就一直等待,但是为了安全,请不忘了设置“超时”。
    --------------------------------------------------------------------------------
    那怎么实现在循环中等待这个变量变化,不行就一直等待,还有设置“超时”。
      

  5.   

    哪用这么麻烦直接
    for i=1 to 100000:next
    for i=1 to 100000:next
    不就完成了
      

  6.   

    do
        doevents
        if k=2 then exit do
    loop就这样~~搞定