Entwickler-Ecke
WinForms - toolstrip progress bar während thread laufen lassen
chrisachern - Mi 04.07.07 09:09
Titel: toolstrip progress bar während thread laufen lassen
hallo.
ich habe eine toolstrip progress bar. ich möchte diese während ein thread läuft laufen lassen.
wenn ich die abfrage so mache läuft sie. aber leider nur bis sie der Balken voll ist.
C#-Quelltext
1: 2: 3: 4:
| while (newthread.ThreadState == System.Threading.ThreadState.Running) { tStProgressBar.PerformStep(); } |
wenn ich aber noch eine abfrage dazwischen mache, um die progressar wieder an den anfang zu setzen,
passiert gar nix.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| while (newthread.ThreadState == System.Threading.ThreadState.Running) { tStProgressBar.PerformStep();
if (tStProgressBar1Value == tStProgressBar.Maximum) tStProgressBar.Value = tStProgressBar.Minimum; } |
kann mir jemand helfen bitte
Moderiert von
Christian S.: C#-Tags hinzugefügt
chrisachern - Do 05.07.07 10:00
hab das gefühl, dass während der thread läuft die ganze form wie eingefroren ist, da auch die uhr, die
eingebaut ist, stehenbleibt.
ich glaube die progressbar erhält die richtigen werte, aber sie wird nicht neu gezeichnet.
mit welcher methode kann ich die progressbar neu zeichen lassen?
gruss
chris
Christian S. - Do 05.07.07 12:18
Naja, die Schleife wird pausenlos ausgeführt, da hat er ja keine Zeit die GUI zu aktualisieren. An Deiner Stelle würde ich die Sache mit der Progressbar in einen Timer packen und nur alle paar hundert Millisekunden machen lassen. In dem Timer (und mit einem entsprechend sinnvollen Intervall) kannst Du dann zur Not noch Application.DoEvents aufrufen. In Deiner Schleife würde das wahrscheinlich die Anwendung zu einer Schnecke machen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!