Forzar la actualización de la interfaz gráfica de usuario de UI Thread

En WinForms, ¿cómo puedo forzar una actualización inmediata de la interfaz de usuario desde el hilo de la interfaz de usuario?

Lo que estoy haciendo es más o menos:

label.Text = "Please Wait..."
try 
{
    SomewhatLongRunningOperation(); 
}
catch(Exception e)
{
    label.Text = "Error: " + e.Message;
    return;
}
label.Text = "Success!";

El texto de la etiqueta no se establece en "Espere ..." antes de la operación.

Resolví esto utilizando otro subproceso para la operación, pero se vuelve peludo y me gustaría simplificar el código.

Respuestas a la pregunta(11)

Su respuesta a la pregunta