You'll have to create each Form, one-by-one, on the main thread. You can get fooled into thinking you can do what you want with multiple threads; but, you'll run into a brick wall at some point with the limitations that Windows has that manifests as weird, rarely reproducible, problems that will only go away with a redesign. It's best to get the design right as quickly as possible...
Keep in mind, splitting processing across many threads doesn't buy you anything unless you have one processor/core per thread. When the OS has to context switch from thread to thread on the same processor you're actually performing much more work and often will be quantitatively longer.
Have a look at some the articles about improving application load times, they may have something useful:
As well, Chapter 5 of Improving .NET Application Performance and Scalability (Improving Managed Code Performance) might have some useful guidance.
|