Avatar ·

Como atualizar a interface (GUI) de outra thread em C# WinForms?

Olá a todos! Sou um desenvolvedor C# iniciante e estou escrevendo um pequeno aplicativo em WinForms. Tenho um botão que, ao ser clicado, inicia uma operação longa (por exemplo, carregar dados da internet ou processar um arquivo grande). Quero que a interface permaneça responsiva durante a execução desta operação, então a inicio em uma thread separada usando `Task.Run`.\n\nO problema surge quando tento atualizar elementos da interface (por exemplo, ProgressBar, Label ou TextBox) a partir desta thread em segundo plano. O aplicativo trava com uma exceção: "InvalidOperationException: Cross-thread operation not valid. Control 'progressBar1' accessed from a thread other than the thread it was created on."\n\nAqui está um exemplo do meu código:\n\n```csharp\nprivate void buttonStart_Click(object sender, EventArgs e)\n{\n Task.Ru