Did you try calling Application.ProcessMessages() in your loop?