schmidt206 Geschrieben 10. Oktober 2008 Geschrieben 10. Oktober 2008 Hallo, ich gebe meinem Programm eine Wartezeit als Variable vor. Diese soll er nach dem Buttonclick abwarten und dann den Millisekunden-Wert der Wartezeit in einer Textbox ausgeben. Das macht er auch soweit. Nun hab ich aber eine for-Schleife eingebaut, auf die er gar nicht reagiert. Hier mal der Code: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim watch As New Stopwatch Dim i As Integer = 1 Dim millis As Integer = 0 Dim wartezeit As Integer = 10 For i = 1 To 10 watch.Start() System.Threading.Thread.Sleep(wartezeit) millis = watch.ElapsedMilliseconds * 10 TextBox5.Text = millis & " ms" watch.Reset() watch.Stop() wartezeit = wartezeit + 1 Next i End Sub Er gibt mir den Wert bei jedem Klick auf den Button aus, geht aber nicht auf meine for-Schleife ein. Hat jemand ne Idee, woran das liegen könnte? Sind meine ersten kleinen Versuche in VB.net, also bitte nicht steinigen Gruß ausm Pott, schmidt206
Bubble Geschrieben 10. Oktober 2008 Geschrieben 10. Oktober 2008 Du musst dem GUI-Thread die Gelegenheit geben, die wartenden Fenster-Nachrichten abzuarbeiten. Dies kannst Du mit der Methode Application.DoEvents() tun. Tust Du es nicht, wirst Du keine Änderung sehen, bzw. nur die letzte, da sonst erst nach dem Verlassen Deiner Funktion die Abarbeitung weiter geht.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden