How to get a form to refresh when there's intense code working in the background?

c#, multithreading, winforms

Solution

Shortest path:

label1.Text = "....";
label1.Update();

Problem

I have a Windows form that I'd like to be able to refresh with a status of the work that's going on in the background in different threads. Problem is, even if I change the label on the form, it doesn't immediately refresh; it seems that the work happening on the other worker threads is preventing the screen from updating. How do I force the form to refresh the new value of the status label immediately?

Original source

Related problems