I've seen on these boards a lot that people have been criticized for using DoEvents in a loop. Why is this bad? To me it sounds like a good idea to give control back to Windows temporarily to let it catch up on what it needs to do.

Also, I have a loop in one of my programs that updates a progress bar. Well the progress bar won't graphically show the updates unless I have a doEvents statement in there.
Is there another way to get it to graphically update?

Many thanks!