I'm launching a background thread and running a task in that thread that takes about an hour. That task must complete before the thread continues. So I'm pausing it by calling Application.DoEvents until the method returns a value. I'm not a big fan of Application.DoEvents though.

So is there a better method to accomplish this task?

Thanks