Benutzer mit den meisten Antworten
Anfängerfrage: Keine Rückmeldung - Formular neu zeichnen

Frage
-
Hallo,
ich habe unter VB 2008 Express ein Programm geschrieben, das recht langwierige Berechnungen durchführt und die Ergebnisser regelmäßig auf die Festplatte schreibt. Die Berechnung starte ich über einen Button auf dem Formular. Jedesmal, wenn ein Ergebnis geschiegen wird, wird das auf dem Formular angezeigt. Das klappt auch alles recht gut, nur wenn ein anderes Programm mal im Vordergrund war, wird mein Formularinhalt nicht mehr angezeigt. Der Taskmanager zeigt "Keine Rückmeldung" meines Programms an. Dass es im Hintergrund weiterarbeitet, sehe ich an den gespeicherten Ergebnisdaten.
Ich habe mit refresh() versucht, ein Neuzeichen des Formulars zu erreichen, aber ohne Erfolg. Offensichtlich muss sich das Programm beim Betriebssystem zurückmelden, um wieder angezeigt zu werden (?). Wie kann ich das erreichen?
Ich bin für jeden Hinweis dankbar.
Gruß, Thomas
Antworten
-
Hallo Thomas,
Erste Variante: Führe in der Berechnungsschleife periodisch ein Application.DoEvents aus.
So kommt die Windows Meldungsschleife zu ihrem Recht und kann die Anzeige aktualisieren.
Zweite Variante: Verlagere die Berechnung in einen eigenen Thread. Am einfachten mit
Hilfe des BackgroundWorker .
Gruß Elmar
- Als Antwort vorgeschlagen Thorsten Dörfler Sonntag, 8. November 2009 09:34
- Als Antwort markiert Robert Breitenhofer Dienstag, 17. November 2009 09:03
Alle Antworten
-
Hallo Thomas,
Erste Variante: Führe in der Berechnungsschleife periodisch ein Application.DoEvents aus.
So kommt die Windows Meldungsschleife zu ihrem Recht und kann die Anzeige aktualisieren.
Zweite Variante: Verlagere die Berechnung in einen eigenen Thread. Am einfachten mit
Hilfe des BackgroundWorker .
Gruß Elmar
- Als Antwort vorgeschlagen Thorsten Dörfler Sonntag, 8. November 2009 09:34
- Als Antwort markiert Robert Breitenhofer Dienstag, 17. November 2009 09:03