WinForm Daten/Controls aktualisieren....

19/08/2009 - 20:21 von Michael Erlinger | Report spam
Hallo

meine 2. Frage bezieht sich allgemein auf die WinForm, in der zum
Beispiel eine Datenübernahme làuft:
Ich befülle zuerst ein DataGridView aus einer Übernahme-Datei, und
arbeite diese dann ab -
zum einen habe ich eine TextBox (Multiline-Edit) für Messages und
Fehler, und zum Zweiten ein StatusLabel um den Fortschritt anzuzeigen.

Leider hört die Aktualisierung der Controls irgendwann zwischendurch
auf.

Wie kann ich dem Programm in meiner Übernahme-Schleife beim
Abarbeiten der Datensàtze aus dem DataGridView mitteilen, dass
Aktualisierungen in der TextBox oder im StatusLabel-Control angzeigt
werden sollen ???

Vielen Dank schom mal für Eure Hilfe
Gruß
Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
20/08/2009 - 07:36 | Warnen spam
Hallo Michael,

Leider hört die Aktualisierung der Controls irgendwann zwischendurch
auf.
Wie kann ich dem Programm in meiner Übernahme-Schleife beim
Abarbeiten der Datensàtze aus dem DataGridView mitteilen, dass
Aktualisierungen in der TextBox oder im StatusLabel-Control angzeigt
werden sollen ???



Also das liegt höchstwahrscheinlich daran, dass die
Übernahme-Schleife im gleichen Thread stattfindet,
in der die Controls erstellt sind (hier der Main GUI-Thread).
Es wird dann die ganze Deine Schleife in diesem Thread ausgeführt
und die Event-Abarbeitung kann nicht triggern.
In solchen Fàllen hilft ...

[auf die Schnelle] ein:

Application.DoEvents();

das etwa alle 200 ms in Deiner Schleife aufgerufen
werden sollte.

Oder ggf. mit Threads:

[Bearbeiten von Steuerelementen aus Threads]
http://dzaebel.net/ControlInvoke.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen