我使用VB.NET和我有:如何打破循環與一個單一的按鈕點擊
- 一個
Start
按鈕 - 一個
Stop
按鈕 - 一個
While
循環
當按下Start
按鈕時,While
循環開始。我想在按下按鈕Stop
時停止循環。
我曾嘗試使用Applications.DoEvents
,但當Stop
按鈕被按下時,循環停止兩次。
以下爲使用Applications.DoEvents
Dim stopclick As Boolean = False
Private Sub btnPlay_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPlay.Click
btnForward.Enabled = False
btnStop.Enabled = True
While
' Perform the while statements
If stopclick = True Then
stopclick = False
Application.DoEvents()
Exit While
End If
End While
End Sub
Private Sub btnStop_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnStop.Click
stopClick = True
End Sub
- 我的代碼,我已經使用
Application.DoEvents
不正確? - 除
Application.DoEvents
之外,還有哪些其他選項?我怎樣才能停止一個單一的Stop
按鈕點擊循環?
我試圖放置Application.DoEvents()If語句之外。但是,我仍然需要雙擊停止按鈕。 1)如何使'停止按鈕'被單擊來打破循環? 2)你是否知道使用BackgroundWorker的循環打樣示例? – user2150279
是的,我只是測試它,並得到相同的行爲。我不確定這是爲什麼,但無論如何,這還不是正確的方法,所以我不會浪費時間去解決問題。我用'BackgroundWorker'添加了一個例子。 –
尊敬的@Steven Doggart,感謝您的上述代碼。我已經測試過,但是我得到了一個錯誤。在while語句中,我有一個來自Form1的變量_ChartControl1_。當代碼運行時,它顯示一個錯誤:「跨線程操作無效:控制'Form1'從一個線程訪問,而不是它創建的線程。」以下是While語句中的行示例:'ChartControl1.Series.Add(series3) Me.Controls.Add(ChartControl1)'。錯誤消息顯示在'Me.Controls.Add(ChartControl1)' – user2150279