Dans WinForms, comment puis-je forcer une mise à jour immédiate de l'interface utilisateur à partir du thread de l'interface utilisateur ?
Ce que je fais, c'est en gros :
label.Text = "Please Wait..."
try
{
SomewhatLongRunningOperation();
}
catch(Exception e)
{
label.Text = "Error: " + e.Message;
return;
}
label.Text = "Success!";
Le texte de l'étiquette ne prend pas la valeur "Please Wait..." avant l'opération.
J'ai résolu ce problème en utilisant un autre fil de discussion pour l'opération, mais cela devient épineux et j'aimerais simplifier le code.