В WinForms, как заставить принудительное обновление UI из потока пользовательского интерфейса?
То, что я делаю, примерно:
label.Text = "Please Wait..."
try
{
SomewhatLongRunningOperation();
}
catch(Exception e)
{
label.Text = "Error: " + e.Message;
return;
}
label.Text = "Success!";
Текст надписи не будет установлен в "Пожалуйста, подождите..." перед операцией.
Я решил это, используя другой поток для операции, но он становится волосатым, и я хотел бы упростить код.