Avatar ·

Fehler Cross-thread operation not valid: Wie greife ich in C# WinForms von einem anderen Thread auf Steuerelemente zu

Hallo zusammen! Ich bin neu in C# und WinForms und hänge an einem Problem mit Multithreading fest. Ich schreibe eine Anwendung, die Daten aus dem Internet lädt und in einer ListBox anzeigt. Damit die Benutzeroberfläche nicht einfriert, starte ich den Download in einem separaten Thread mit Task.Run. Hier ist der vereinfachte Code: ```csharp private void buttonStart_Click(object sender, EventArgs e) { Task.Run(() => LoadData()); } private void LoadData() { for (int i = 0; i < 10; i++) { // Simulation des Datenladens Thread.Sleep(1000); // Versuche, ein Element zur ListBox hinzuzufügen listBoxResult.Items.Add("Element " + i); } } ``` Beim Ausführen in der Zeile `listBoxResult.Items.Add(...)` wird eine Ausnahme ausgelöst: "Cross-thread operation not valid: Control 'listBoxResult' accessed from a thread other than t