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 Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.