title: VB.NET Using BackgroundWorker to prevent UI freeze - alternatives?
body: <p>I've just started a similar thread, but I feel this is a separate question, so here goes!</p>
  
  <p>I'm using a BackgroundWorker to prevent my UI locking up while I perform a number of file operations.  While this has solved the problem, it's created another as the function the BackgroundWorker is called from needs to return a true/false based on the outcome of the BackgroundWorker.</p>
  
  <p>Obviously, there's ways around this - using a loop to check if the worker is busy, but this seems to be a particularly kludge-y way of doing things.  I've done some further reading into this, and a lot of people say that if I need to wait until the BackgroundWorker is finished, I'm defeating the purpose of using it in the first place.</p>
  
  <p>What are my options here?  Is there a 'correct' way to use a BackgroundWorker within a function and still have it report a return value based on the outcome of the work the BackgroundWorker is doing, or is there a simpler way to keep my UI responsive while other stuff is going on?</p>