Fehler Cross-thread operation not valid: Wie greife ich in C# WinForms aus einem anderen Thread auf Steuerelemente zu
Hallo zusammen! Ich bin neu in C# und WinForms und bin auf ein Problem mit Multithreading gestoßen. Ich schreibe eine Anwendung, die Daten aus dem Internet lädt und in einer ListBox anzeigt. Damit die Oberfläche nicht einfriert, starte ich den Ladevorgang in einem separaten Thread über 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 wird in der Zeile `listBoxResult.Items.Add(...)` eine Ausnahme ausgelöst: "Cross-thread operation not valid: Control 'listBoxResult' accessed from a thread other than t