Quote Originally Posted by dunfiddlin View Post
It may be the direct approach but it doesn't work in this context. In so far as I was able to replicate the problem, in several scenarios it had no effect whatsoever. As far as I can see it does no more than duplicate the repaint process that's already in hand as a result of the change of style/text and worse also requires a repaint of all the other controls on the form and the form itself. I don't see how adding a whole new set of events to the queue is meant to solve the traffic jam that already exists. So if it's the answer I'm pretty sure we've got the wrong question!

In fact I did not suggest DoEvents as The Answer only as something worth trying if the OP was unable to commit to The Answer I actually proposed; threading of the Copy() process. But let's not let the facts get in the way of a good argument!
It would be interesting to see what you tried that Me.Refresh didn't work. The suggestion to use Refresh was in contrast to DoEvents. The OP only needed to Refresh the specific controls.

What concerned me, and maybe others, was that the OP probably did "try" DoEvents and achieved the desired result. From what I can tell the OP hasn't had much to say on this thread. If they did follow this advice, "in the meantime try putting in ...Application.DoEvents()" they may think it is the answer to all similar problems, whether or not that was your intent. Most people here don't advocate the use of DoEvents because of the potential problems it can create.

It surprised me that you suggested it.