tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
417
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MusiumInCapitiss Tutorials.de Gastzugang
    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
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    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ß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    MusiumInCapitiss Tutorials.de Gastzugang
    Vielen Dank für deine Antwort ...
    werde das mit dem e.cancle machen, und natürlich dem user eine Meldung anzeigen.

    mfg.
     

  4. #4
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Alternativ den BackgroundWorker verwenden, der hat ein RunWorkerCompleted-Event. Das tritt ein, sobald der Thread beendet ist.
    EDIT: Ach so, ich glaube ich hatte die Frage nicht richtig verstanden. Deepthroat hat's ja schon erklärt.
     

Ähnliche Themen

  1. Auf Ende von ExecutorService warten und GUI update
    Von ratbar im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 17.01.11, 19:43
  2. Pascal - warten mit Thread
    Von jeipack im Forum Delphi, Kylix, Pascal
    Antworten: 0
    Letzter Beitrag: 13.06.10, 13:50
  3. Warten bis der Thread abgearbeitet ist ?
    Von Leroux im Forum Java
    Antworten: 1
    Letzter Beitrag: 30.10.08, 14:31
  4. Anwendung auf Thread warten lassen
    Von The_Maegges im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 24.07.07, 19:02
  5. Auf das Ende eines Mc's warten
    Von pat_morita im Forum Flash Plattform
    Antworten: 14
    Letzter Beitrag: 06.06.07, 13:28