A wizard is a series of pages that guide a user through a complex task. Back and Next buttons allow the user to move forward and backward through the pages. Typically, each page collects a piece of information; when the user clicks the Finish button, the information is used to perform a task. At any time before clicking Finish, the user can cancel the task, which should undo any side effects of the steps completed so far.
New Class wizard
A wizard is typically presented in a dialog, but this is not required. The abstraction called IWizardContainer represents the context in which a wizard runs. A wizard container is guaranteed to have a title, a message area, and a progress monitor. A wizard must implement IWizard, and each page within the wizard must implement IWizardPage.