none
Anfängerfrage: Keine Rückmeldung - Formular neu zeichnen RRS feed

  • 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 
    Sonntag, 8. November 2009 07:19

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

    Sonntag, 8. November 2009 08:57

Alle Antworten