-2
我需要一种方法来查明从0开始的时间结束为4秒。如何在VB.net中检测到特定时间已过时
我的代码如下:
我有一个名为weightdelaycount全局变量,这是每1000个间隔递增。
Private Sub Timer_weightcheck_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer_weightcheck.Tick
weightdelaycount = weightdelaycount + 1
End Sub
现在我有do while while循环无限地运行,只能根据两个条件停止。 weightchange = True或时钟= 4秒。
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
weightdelaycount = 0
Timer_weightcheck.Enabled = True
Do While 1
If (weightchange() = True) Then
Timer_weightcheck.Enabled = False
Exit Do
End If
If (weightdelaycount = 4) Then
Timer_weightcheck.Enabled = False
Exit Do
End If
Loop
MessageBox.Show(weightdelaycount)
End Sub
从上面的例程中可以看到,如果满足两个条件,我将使用exit Do来退出循环。问题是,如果weightchange()不是True并且4秒过去了,系统不会停止。我可以在那里延迟一段时间,然后它就可以工作,但我需要准确衡量一个比例的重量。如果我延迟,那么这些值将不准确。有没有办法解决这个问题?
谢谢你提前
从开启选项strict开始。您的按钮代码的循环阻止计时器处理任何Tick事件。它也将阻止任何规模的事件被处理(如果这是发生的事情)。你可以设置一个4秒计时器(没有循环),并检查重量是否改变,以符合相同的标准 – Plutonix