Vb.net 如何处理计时器滴答事件vb 2015中的循环?
我想在计时器内为循环做一个Vb.net 如何处理计时器滴答事件vb 2015中的循环?,vb.net,visual-studio,timer,Vb.net,Visual Studio,Timer,我想在计时器内为循环做一个。由于我想连续检查元素为row的数组,而循环似乎没有从0开始移动,所以我无法继续,有没有办法解决这个问题 我第一次尝试这个: Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick For row = 0 To 9 msgbox(row) Next 然后我尝试了另一种方法,正如一个答案中所建议的那样 Private Sub Timer1_Tick(sender As
。由于我想连续检查元素为row
的数组,而循环似乎没有从0开始移动,所以我无法继续,有没有办法解决这个问题
我第一次尝试这个:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
For row = 0 To 9
msgbox(row)
Next
然后我尝试了另一种方法,正如一个答案中所建议的那样
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
row+=1
msgbox(row)
if row = 10 then
timer1.stop()
end if
Next
MsgBox
现在将在刻度上输出0+,但不会在10处停止
不要使用for循环,而是使用全局变量并在tick函数中递增它
Dim ctr as integer = 0
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
ctr=ctr+1
row(ctr)
msgbox(row)
if ctr == 10 then
ctr = 0
timer1.stop
end if
有了这段代码,msgbox能够输出0到9并重复这个过程,因为我需要它来连续监视阵列。然而,由于某种原因,当msgbox位于增量方法的第一行或在调用增量之前的计时器滴答声上时,输出始终保持-1,不知道为什么。无论如何,感谢您的所有输入,因为我对visual basic 2015仍然是新手我同意这一点,您不需要创建循环,计时器将为您完成工作。每x秒执行一次你想要的代码刚刚试过上面的代码。不幸的是,MsgBox在10秒后也不会停止输出,或者可能是我做错了什么?仍然是相同的输出。如果我可以问一下,这一排(ctr)是干什么的?我删除了它,因为VB说它不是一个方法,所以我跳过了它,直接使用msgbox(ctr)。计时器1仍然没有停止,但你能给我看看输出吗?我认为您需要将ctr声明为您的全局视图a在上面添加了一个屏幕截图是的,在勾号事件中添加MessageBox通常不是一个好主意。@LarsTech是的,出于某种原因,根据msgbox()所在的位置,输出也会改变。类似于全0输出或行整数的无止境增量。但不管怎样,我想我现在已经解决了这个问题,我会更新帖子的,谢谢
Dim row As Integer = -1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
RefreshData()
Timer1.Enabled = True
initialize()
End sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
increment()
MsgBox(row)
End sub
Private Sub increment()
If row > 8 Then
row = 0
Else
row = row + 1
End If
'my if else statement for checking array variable(row)
End Sub