Hallö!
Ich hätt da wiedermal ein Problem das mich nicht in Ruhe lässt:
Ich versuche aus einem BackgroundWorker heraus auf eine ListBox zuzugreifen und Einträge hinzuzufügen. Das ganze sieht so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| private void Work_DoWork(object sender, DoWorkEventArgs e) { WriteReport("Test!"); } private void WriteReport(String Text) { ReportBox_small.Items.Add(Text); } |
Landet er aber bei der Stelle
ReportBox_small.Items.Add(Text); gibt es eine Exception oder sowas ähnliches (sieht nich gleich aus wie eine...) in der es heisst:
Böse Exception hat folgendes geschrieben: |
InvalidOperationException was unhandled by user code
Cross-thread operation not valid: Control 'ReportBox_small' accessed from a thread other than the thread it was created on. |
Ich interpretiere das als "Tschuldigung, ich bin ein anderer Thread und hab keine Permissions für die Form."
Ein Bekannter hat mir gesagt, es gäbe eine Lösung dafür, hat mir ein Buch in die Hand gedrückt und gemeint, hier KÖNNTE es evt. drinstehen. Tat es leider nicht. Google erbringt auch nichts schlaues, die MicrosoftSchrottHilfe versteh ich nicht wirklich und hier haben anscheinend zu wenig Leute Probleme damit...
Weiss Jemand wie ich den BackgroundWorker auf die Form zugreifen lassen kann?
Danke!