Though all software should be intuitive there are still times when users need extra guidance. Wizards are ideal especially for stepping through more complicated steps or when an application isn't going to be used regularly.
Most importantly when a first time a user tries your program, they should be able to step through the setting up process. A wizard helps to show how your application flows from beginning to end.
To ensure a consistent user experience, make sure to include these visual elements:
✅ Figure: Good example - Good Example - SSW Link Auditor Wizard's better flow of information
Example: SSW CodeAuditor may only run once a month, during which time the user may forget all the steps involved. You can see an example of all the relevant steps at Code Auditor User Guide.
Technical note: To ensure visual consistency across applications, create a base form then set the properties in that form (application icon, menu structure, button names etc.) Add any logic in for switching pages with the "Next" and "Back" buttons. Then for all projects, add a reference to that one and inherit the customized form.
In the forms in your application, instead of inheriting from System.Windows.Forms.Form (the Default), inherit from your new base form class.
public class MyForm : System.Windows.Form.Form
Figure: Default code in a Windows Form
public class MyForm : Company.Framework.BaseCustomForm
Figure: Change the form so that it inherits from your new base form class The "finish" button denotes the end of the Wizard; by clicking on it, the user closes the Wizard.
For longer processes, the Wizard should implement "Start" and "Skip" features to guide the user through from start to finish.
✅ Figure: Good example - Good Example - SSW Code Auditor Wizard featuring "Start" and "Skip" options
Here's some more information on Microsoft's Wizards: Design Guidelines.