Re: BackGroundWorker und Form!
- From: leslie eldrige <leslieeldrige@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 18 Oct 2007 00:46:00 -0700
Ich weiss, wenn man 10 verschiedene Labels ändert wird der Anwender sicher
nicht alle verfolgen können, aber mir ging es um etwas anderes:
Ich hole meine Daten von 5 verschiedenen Servers, die redudant arbeiten. Es
kann aber sein, dass einer oder anderer etwas langsamer ist. Wenn man nur ein
paar Hundert Datensätzen holt ist es kein Problem, aber wenn man über 100'000
holt, dann kann es sein dass einer oder anderer Server etwas langsamer ist
(im schlimsten Fall kann sich die antwort bis zu 1 Sekunde verzögern und das
macht bei 100'000 Datensätzen schon extrem viel aus)!
Darum habe ich mir ein paar Check Boxes auf dem Form platziert und die Logik
so programmiert, dass der Anwender die Server Verbindungen jederzeit
aktivieren bzw. deaktivieren kann. Sieht er, dass ein Server 'Probleme' hat,
kann er ihn 'deaktivieren' und schliesslich werden die Daten schneller
aufbereitet (weil die andere z.B. schneller sind).
Mein Problem war eben, dass man diese Checkboxes erst nach der Beendigung
des Threads anklicken konnte was natürlich keinen Sinn macht.
Mit einem Sleep im Thread geht das jetzt wie gewünscht wobei ich es nicht
unbedingt gut finde, weil ich künstlich jede Datensatzabfrage um 100ms
verzögere!!!
Aplication.DoEvent() hilft auch nicht weiter und ich hoffte es ginge
eventuell mit Priorität, aber wie gesagt laut Internet geht das nicht mit BGW.
Gruss
"Armin Zingler" wrote:
"leslie eldrige" <leslieeldrige@xxxxxxxxxxxxxxxxxxxxxxxxx> schrieb.
Vielen Dank, hab ein Sleep eingebaut und die Form hat scheinbar
jetzt etwas Zeit auf User Eingaben zu reagieren.
PS: Blöd nur dass man die Priorität von BGW nicht festlegen kann :(
Kann man nicht?
Zusätzlich zu Thomas' Antwort:
Evtl nicht mit BeginInvoke arbeiten sondern vom UI-Thread aus per Timer
(Winforms-Timer) Labels/Progress aktualisieren. Genügt in z.B. 200ms oder
500ms-Abständen. Je nachdem. 1000 verschiedene Texte pro Sekunde in Labels
kann der Benutzer ohnehin nicht lesen.
Armin
- Follow-Ups:
- Re: BackGroundWorker und Form!
- From: Armin Zingler
- Re: BackGroundWorker und Form!
- From: Peter Fleischer
- Re: BackGroundWorker und Form!
- References:
- Re: BackGroundWorker und Form!
- From: Thomas Scheidegger
- Re: BackGroundWorker und Form!
- From: Armin Zingler
- Re: BackGroundWorker und Form!
- Prev by Date: Re: Anwendungs-Start
- Next by Date: Re: BackGroundWorker und Form!
- Previous by thread: Re: BackGroundWorker und Form!
- Next by thread: Re: BackGroundWorker und Form!
- Index(es):
Relevant Pages
|
Loading