VS 2013: C#-Frage zur Textbox

Gast #4159448
Lesenswert?
• ▲
▼
In einer while-Schleife, die pro Durchlauf 200 ms dauert, aktualisiere 
ich zwei Textboxen, um mir die Anzahl der fehlerhaften bzw. korrekt 
übertragenen Datensätze anzeigen zu lassen.

Erwartet habe ich, dass die Zahlen von 1 bis 100 durchlaufen. Bekomme 
aber Zahlen, die in zwei, drei größeren Abständen (19, 72, 100) 
angezeigt werden.

Woran liegt das? Was muss ich ändern?

1
                ... 
2
                textBoxACK.Text = Convert.ToString(ACKcounter);
3
                textBoxNAK.Text = Convert.ToString(NAKcounter);
4
                ...
Gast #4159465
Lesenswert?
• ▲
▼
Schon erledigt. Es funktioniert. Danke Thomas.

[code]
                textBoxACK.Text = Convert.ToString(ACKcounter);
                textBoxACK.Refresh();
                textBoxNAK.Text = Convert.ToString(NAKcounter);
                textBoxNAK.Refresh();
[/code
Gast #4160424
Lesenswert?
• ▲
▼
Am einfachsten ist es wenn du das mit einem Timer löst, der gestartet 
wird und nicht gestoppt wird. Wenn die 200 ms abgelaufen sind kannst du 
über das Tick-Event eine Funktion aufrufen lassen, die den Text deiner 
Textbox bzw. deines Labels ändert.
Und lass das Refresh() weg! Dadurch erhälst du verschiedenen Zeiten in 
deiner Ausgabe.
Gast #4160436
Lesenswert?
• ▲
▼
Die Zeit deiner while-Schleife ergibt sich durch 200ms warten + Zeit für 
das Refresh. Bei dem Timer natürlich die while-Schleife weglassen. 
Dadurch, dass du den Timer nie stoppst erhältst du automatisch eine 
Endlosschleife der Tick-Funktion. Falls du nur ein bestimmte Anzahl an 
Durchläufen haben willst musst den Timer unter einer Bedingung (am 
besten in der Tick-Funktion)  stoppen (und reseten). Dafür machst du den 
Timer und den Zähler global.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren