Comment casser une boucle avec un seul clic

Je suis en utilisant VB.NET et j'ai:

  • un Start bouton
  • un Stop bouton
  • un While boucle

Lorsque le Start bouton est pressé, le While la boucle commence. Je veux arrêter la boucle lorsque le Stop le bouton est pressé.

J'avais essayé d'utiliser Applications.DoEvents, mais la boucle s'arrête lorsque la Stop bouton est pressé deux fois.

Ci-dessous mon code à l'aide de 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
  1. Je n'ai utilisé Application.DoEvents mal?
  2. Quelles sont les autres options en plus Application.DoEvents? Comment puis-je arrêter la boucle avec un seul Stop cliquez sur le bouton?

OriginalL'auteur user2150279 | 2013-08-20