How to Implement a Background Process in Visual Basic .NET. "Rocky Lhotka implements a structured framework sample to mediate between the worker threads and the UI thread, simplifying the process of writing multithreaded worker code and a UI to control it. The framework can be modified to suit your application needs." [MSDN]