Vb.net 重复25次后如何暂停循环60分钟?
我这里有一个循环/for,我想在重复25次后暂停一小时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
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)
。