In the old days using MFC I could turn a property sheet into a wizard style dialog very easily and reuse my dialog templates.

I have a .NET form with a tab control that I would like to do the same with.

Is there an easy way to do this in .NET without having two copies of my controls?

+1  A: 

Unfortunately, no, there is no built-in way to do this anymore (I miss that MFC ability as well).

The two best options I've found are:

  • Create a form for each step, and switch between them
  • Create a single form with the control buttons, and show a different user control for each step (there are a few variations on this design as well)

If it's a process with a lot of steps, I'd tend towards the second option. It's more work to get set up, but the rewards outweigh the work as the number of steps grows. For a process with 1-3 steps, creating a new form for each step is going to be easier and faster (copy/paste to the rescue).

Jon Seigel
+1  A: 

Way back when, a long time ago, Chris Sells had a project called Ghengis for .NET which among other features, had a framework for making a wizard project. I don't know exactly what the state of the project is... it mostly was meant to account for inadequacies of the 1.0 and 1.1 framework... but some of it could still be useful, including that.