Backgroundworker und Controls->Add()
-
Hallo!
Folgendes Problem: aus einem Backgroundworker wird eine Funktion aufgerufen, die für die Oberfläche zuständig ist und u.a. PictureBoxen löscht bzw. sie hinzufügt.
Vereinfacht sieht das so aus:
form->splitContainer1->Panel2->Controls->Clear();
// PicBoxen erstellen
form->splitContainer1->Panel2->Controls->Add(picbox);Außerhalb des Backgroundworkers klappt die Funktion wunderbar, doch in einem Backgroundworker bleibt das Programm genau an diesem Controls->Add hängen und macht nicht weiter. Es scheint so, als könnte man zwar im BW auf die form und den splitContainer zugreifen, die Funktion Clear() aufrufen (funktioniert auch), aber beim Add eben nicht mehr.
Viele Grüße
-
Altes Problem:
Benutze Control.Invoke(...) um Aufrufe auf den korrekten Thread zu marshallen.
Simon
-
merci, genau daran hat's gelegen.