Vb.net 重复25次后如何暂停循环60分钟?

Vb.net 重复25次后如何暂停循环60分钟?,vb.net,visual-studio-2010,visual-studio,loops,visual-studio-2012,Vb.net,Visual Studio 2010,Visual Studio,Loops,Visual Studio 2012,我这里有一个循环/for,我想在重复25次后暂停一小时 Dim i As Integer i = 0 For Each item In ListBox2.Items i = i + 1 MessageBox.Show(item.ToString) delay(1000) Label5.Text = i Next 比如: Dim i As Integer Dim j As Integer i = 0 j = 0 For

我这里有一个循环/for,我想在重复25次后暂停一小时

Dim i As Integer

i = 0

For Each item In ListBox2.Items
    i = i + 1
    MessageBox.Show(item.ToString)
    delay(1000)
    Label5.Text = i
Next
比如:

   Dim i As Integer
    Dim j As Integer

    i = 0
    j = 0

    For Each item In ListBox2.Items
       if(j!=25)
          i = i + 1
          MessageBox.Show(item.ToString)
          delay(1000)
          Label5.Text = i
          j=j+1
       else
          delay(25*60*1000)
          j = 0
    Next

您应该向窗体中添加计时器对象,并将间隔设置为3600000(ms)。将循环放置在sub(如
sub DoSomething()
)中的25。在Timer.Tick事件处理程序中,您只需放置另一个
DoSomething()
(可能在DoSomething()之前停止计时器,然后根据DoSomething所需的时间启动计时器)。
然后,当您想要启动任务时,手动调用DoSomething()一次,然后启动计时器。每60分钟它将执行DoSomething()

这种方法更加平滑,因为表单不会卡在某个循环或线程中。Sleep()。对于任何花费大量时间的任务,都应该避免这种情况。 此外,停止任务也很容易

Public Class Form1
Private WithEvents TaskTimer As New System.Windows.Forms.Timer With {.Interval = 15000, .Enabled = False}

Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
    DoSomething()
End Sub
Private Sub DoSomething()
    TaskTimer.Stop() 'Stop the timer while the task is being performed
    For i = 1 To 25
        MessageBox.Show("Hey ho yippieyahey")
    Next
    TaskTimer.Start() 'Restart the timer
End Sub
Private Sub TaskTimer_Tick(sender As Object, e As EventArgs) Handles TaskTimer.Tick
    DoSomething()
End Sub
Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
    TaskTimer.Stop()
End Sub
End Class

“him”的有趣用法是:(1)我会在另一个线程中做这个洞,并在for循环之后调用
thread.Sleep(3600000)