Pretty much, you can't - or at least not directly. The problem is that Threads don't have windows, and there is only one UI thread in an application. Once you get to Windows rather than using a Console, only that single UI thread can access any controls, so it gets complicated to update windows from secondary threads (you have to move the access code back to the UI thread by a process called Invoking).
However, there is one way to do it quite easily: Use a
BackgroundWorker [
^] to run each thread, and associate that worker with a particular Window. Background workers have an event for reporting progress which allows you to pass info from the worker thread to the UI thread for update, and if the worker is "fired" by the Form itself, then the Progress event will get the form to display on as
this
in the usual way.
Be aware that increasing the number of threads may not speed up an application, quite the contrary it is possible to slow down an app dramatically by adding too many threads!