I have a Windows Forms app that does a lengthy calculation in a button's click handler. So I set the form's UseWaitCursor property to true when I start the calculation and reset it to false when I'm done.

Sounds simple, but it doesn't work like it should. The wait cursor doesn't appear instantly, instead it takes time until I click on an arbitrary button (clicking on the form or other controls doesn't seem to have that effect), and even that doesn't always work the first time. Does anybody have a clue on how I could get rid of that annoying behaviour?