Also wanted to follow up on threading -- threading itself isn't a big deal, but there is one more catch when adding Windows.Forms to the mix. If you get an error like:

An unhandled exception of type 'System.ArgumentException' occurred in system.windows.forms.dll

Additional information: Controls created on one thread cannot be parented to a control on a different thread.


... you need to read this technote at Microsoft. Better do it quickly, though; Microsoft has a bad habit of changing URLs.