Warten auf Thread ende

M

MusiumInCapitiss

Hi,
Ich häng grad an einem kleinen Problem fest..
Und zwar habe ich ein Form, welches einen Thread aufruft.
Dieser Thread sollte wenn möglich immer bis zu ende arbeite können.
Wenn jetzt aber das Form, welches den Thread aufgerufen hat geschlossen wird, kann der Thread nicht zu ende arbeiten, da er nicht mehr auf Elemente im Form zugreifen kann (Thread zeigt immer gewisse Werte als Lable an.)…
Nun die Frage:… wie kann ich das schliessen des Forms verhindern, bis der Thread fertig ist?
..Habs schon versucht mit Konstrukten wie:
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
while(threadFinished == false)
{
Thread.Sleep(2000);
}
}
// threadFinished wird via Event vom Thread auf true gesetze, wenn dieser fertig ist
Funktionier aber leider nicht, da so mein Form Blokier ist…

Mfg.
MusiumInCapitiss
 
Hi.

Du könntest z.B. per e.Cancel = true das Schließen des Formulars unterbinden.

Evtl. solltest du dann einen Hinweis anzeigen, das noch etwas passiert und automatisch das Programm später schließen falls der Thread zuende gearbeitet hat.

Gruß
 
Vielen Dank für deine Antwort ...
werde das mit dem e.cancle machen, und natürlich dem user eine Meldung anzeigen.

mfg.
 

Neue Beiträge

Zurück