我環顧了很多,並找到了一些答案,但沒有一個工作。定時器作爲睡眠?
據我所知,「睡眠()」凍結了應用程序,這就是爲什麼我添加了一個計時器。我想這樣我這樣做是它睡覺1000毫秒:
Timer1.Interval = 1000
Timer1.Start()
然而,這似乎並沒有工作。我沒有得到任何錯誤,程序運行就像它沒有計時器時的運行。
我正在做這個對嗎?如果不是,有人可以修復它? (定時器啓用)
謝謝!
我環顧了很多,並找到了一些答案,但沒有一個工作。定時器作爲睡眠?
據我所知,「睡眠()」凍結了應用程序,這就是爲什麼我添加了一個計時器。我想這樣我這樣做是它睡覺1000毫秒:
Timer1.Interval = 1000
Timer1.Start()
然而,這似乎並沒有工作。我沒有得到任何錯誤,程序運行就像它沒有計時器時的運行。
我正在做這個對嗎?如果不是,有人可以修復它? (定時器啓用)
謝謝!
你需要聽Tick事件https://msdn.microsoft.com/en-us/library/system.windows.forms.timer.tick(v=vs.90).aspx
創建一個處理程序,並跟蹤蜱有:
'prompts the user whether the timer should continue to run'
Private Shared Sub TimerEventProcessor(ByVal myObject As Object, _
ByVal myEventArgs As EventArgs) _
Handles myTimer.Tick
myTimer.Stop()
' Displays a message box asking whether to continue running the timer.
If MessageBox.Show("Continue running?", "Count is: " & alarmCounter, _
MessageBoxButtons.YesNo) = DialogResult.Yes Then
' Restarts the timer and increments the counter.
alarmCounter += 1
myTimer.Enabled = True
Else
' Stops the timer.
exitFlag = True
End If
End Sub
,並在主
Public Shared Sub Main()
' Adds the event and the event handler for the method that will
' process the timer event to the timer.
' Sets the timer interval to 5 seconds.
myTimer.Interval = 5000
myTimer.Start()
' Runs the timer, and raises the event.
While exitFlag = False
' Processes all the events in the queue.
Application.DoEvents()
End While
End Sub
希望這有助於。
我知道這很容易轉換爲VB,但爲了OP的緣故,你可以把這個在問題標記被標記的VB語法中? – Codexer
好吧,對不起,我會更新我的答案,謝謝 – Rosenumber14
因此,這將使控制檯等待,但在同一時間讓其他代碼保持運行? – Obfuscated
'Timer1'將每1000ms觸發一個事件;他們不睡覺。在環顧四周時,你一定錯過了這個:[Timer Class](https://msdn.microsoft.com/en-us/library/system.windows.forms.timer(v = vs.110).aspx) – Plutonix
All you所做的就是啓動計時器。您的代碼將繼續執行'Timer1.Start()'後面的指令。您需要退出此方法,然後在'Timer1.Tick'事件中,您可以執行重新處理所需的操作。 – Blackwood
我想你可能想要的是'等待Task.Delay(1000)' – Crowcoder