Avatar ·

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