Try adding a Refresh() method to your control before entering the sleep().
The problem is that during sleep the whole thread is frozen even the message loop and controls dispatching don't works.
Maybe you wan use a different method to wait (i.e. using a timer).
You may want have a look to this