-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