Erro Cross-thread operation not valid: como acessar controles de outra thread em C# WinForms
Olá a todos! Sou novo em C# e WinForms, e estou preso em um problema com multithreading. Estou escrevendo um aplicativo que carrega dados da internet e os exibe em um ListBox. Para que a interface não congele, eu inicio o carregamento em uma thread separada usando Task.Run. Aqui está o código simplificado:
```csharp
private void buttonStart_Click(object sender, EventArgs e)
{
Task.Run(() => LoadData());
}
private void LoadData()
{
for (int i = 0; i < 10; i++)
{
// Simulação de carregamento de dados
Thread.Sleep(1000);
// Tento adicionar um elemento ao ListBox
listBoxResult.Items.Add("Elemento " + i);
}
}
```
Ao executar, na linha `listBoxResult.Items.Add(...)` ocorre uma exceção: "Cross-thread operation not valid: Control 'listBoxResult' accessed from a thread other than t