syncfusion-winforms-wizard-control

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Implementing WizardControl in Windows Forms

在Windows Forms中实现WizardControl

This skill guides the implementation of the Syncfusion WizardControl component in Windows Forms applications. The WizardControl provides a rich, interactive interface for breaking complex tasks into simple sequential steps with guided navigation.
本教程讲解如何在Windows Forms应用中实现Syncfusion WizardControl组件。WizardControl提供了丰富的交互式界面,可通过引导式导航将复杂任务拆分为简单的连续步骤。

When to Use This Skill

什么时候使用本教程

Use this skill when users need to:
  • Create multi-step installation or setup wizards
  • Implement sequential forms with Back/Next navigation
  • Build guided workflows for complex data entry
  • Design step-by-step configuration interfaces
  • Create onboarding experiences with multiple pages
  • Implement wizard-style dialogs for task completion
  • Guide users through categorized data collection
  • Build registration or checkout processes with progress tracking
当用户需要完成以下操作时可使用本教程:
  • 创建多步骤安装或设置向导
  • 实现带返回/下一步导航的顺序表单
  • 为复杂数据录入构建引导式工作流
  • 设计分步配置界面
  • 创建多页面的新手引导体验
  • 实现用于任务完成的向导式对话框
  • 引导用户完成分类数据收集
  • 构建带进度追踪的注册或结账流程

Component Overview

组件概述

The WizardControl is a multi-page container that guides users through sequential tasks with automatic navigation button management.
Key Capabilities:
  • Multi-page management - WizardControlPage collection with flexible ordering
  • Navigation buttons - Back, Next, Cancel, Finish, Help with per-page visibility control
  • Banner panel - Header with title, description, and image for context
  • Page validation - ValidatePage event for data validation before navigation
  • Design-time support - Smart tags, collection editor, visual page navigation
  • Flexible layout - FullPage mode, custom button placement, BannerPanel customization
  • Event system - Page lifecycle events, button click events, navigation events
  • Theming support - Full appearance customization with Style property
  • RTL support - Right-to-left layout for international applications
Assembly:
Syncfusion.Tools.Windows.dll

Namespace:
Syncfusion.Windows.Forms.Tools

Dependencies: 6 assemblies (Grid.Base, Grid.Windows, Shared.Base, Shared.Windows, Tools.Base, Tools.Windows)
WizardControl 是一个多页面容器,可通过自动导航按钮管理引导用户完成连续任务。
核心能力:
  • 多页面管理 - 支持灵活排序的WizardControlPage集合
  • 导航按钮 - 返回、下一步、取消、完成、帮助按钮,支持按页面控制可见性
  • 横幅面板 - 包含标题、描述和图片的头部,用于提供上下文信息
  • 页面验证 - 通过ValidatePage事件在导航前进行数据验证
  • 设计时支持 - 智能标签、集合编辑器、可视化页面导航
  • 灵活布局 - 全页面模式、自定义按钮位置、BannerPanel自定义
  • 事件系统 - 页面生命周期事件、按钮点击事件、导航事件
  • 主题支持 - 通过Style属性实现完整的外观自定义
  • RTL支持 - 支持国际化应用的从右到左布局
程序集:
Syncfusion.Tools.Windows.dll

命名空间:
Syncfusion.Windows.Forms.Tools

依赖项: 6个程序集(Grid.Base、Grid.Windows、Shared.Base、Shared.Windows、Tools.Base、Tools.Windows)

Documentation and Navigation Guide

文档与导航指南

Getting Started

入门指南

📄 Read: references/getting-started.md
When to read:
  • Setting up WizardControl for the first time
  • Understanding assembly requirements and installation
  • Adding control via designer or code
  • Creating basic wizard with multiple pages
  • Configuring WizardContainer and WizardControlPages
  • Troubleshooting setup issues
📄 阅读: references/getting-started.md
适用场景:
  • 首次配置WizardControl
  • 了解程序集要求和安装方法
  • 通过设计器或代码添加控件
  • 创建包含多个页面的基础向导
  • 配置WizardContainer和WizardControlPages
  • 排查设置相关问题

Wizard Pages

向导页面

📄 Read: references/wizard-pages.md
When to read:
  • Creating and managing WizardControlPage collection
  • Setting page titles and descriptions
  • Configuring FullPage property to hide banner
  • Reordering pages using collection editor or properties
  • Setting NextPage and PreviousPage for custom sequences
  • Accessing pages at design time and runtime
  • Building multi-page wizards with dynamic content
📄 阅读: references/wizard-pages.md
适用场景:
  • 创建和管理WizardControlPage集合
  • 设置页面标题和描述
  • 配置FullPage属性隐藏横幅
  • 通过集合编辑器或属性重新排序页面
  • 设置NextPage和PreviousPage实现自定义流程
  • 在设计时和运行时访问页面
  • 构建带动态内容的多页面向导

Navigation Buttons

导航按钮

📄 Read: references/navigation-buttons.md
When to read:
  • Controlling button visibility (BackVisible, NextVisible, etc.)
  • Enabling/disabling buttons per page
  • Adding Finish button to final page
  • Creating custom buttons in wizard
  • Reordering button sequence with GridBagLayout
  • Customizing button appearance (FlatStyle, colors, images)
  • Accessing BackButton, NextButton, CancelButton properties
📄 阅读: references/navigation-buttons.md
适用场景:
  • 控制按钮可见性(BackVisible、NextVisible等)
  • 按页面启用/禁用按钮
  • 在最终页面添加完成按钮
  • 在向导中创建自定义按钮
  • 通过GridBagLayout重新排序按钮顺序
  • 自定义按钮外观(FlatStyle、颜色、图片)
  • 访问BackButton、NextButton、CancelButton属性

Banner Configuration

横幅配置

📄 Read: references/banner-configuration.md
When to read:
  • Configuring BannerPanel with gradient background
  • Setting Banner property for header image
  • Customizing Title and Description labels
  • Using AutoLayoutBanner/Title/Description properties
  • Adding custom controls to banner area
  • Styling title and description text
  • Creating branded wizard headers
📄 阅读: references/banner-configuration.md
适用场景:
  • 配置带渐变背景的BannerPanel
  • 为头部图片设置Banner属性
  • 自定义标题和描述标签
  • 使用AutoLayoutBanner/Title/Description属性
  • 向横幅区域添加自定义控件
  • 为标题和描述文本设置样式
  • 创建品牌化的向导头部

Page Validation and Events

页面验证与事件

📄 Read: references/page-validation-events.md
When to read:
  • Implementing page validation with ValidatePage event
  • Handling navigation events (BeforeNext, BeforeBack, BeforeFinish)
  • Responding to button clicks (BackClick, NextClick, etc.)
  • Using PageLoad event for page initialization
  • Implementing custom page sequences
  • Canceling navigation based on validation
  • Using BackButtonCausesValidation property
📄 阅读: references/page-validation-events.md
适用场景:
  • 通过ValidatePage事件实现页面验证
  • 处理导航事件(BeforeNext、BeforeBack、BeforeFinish)
  • 响应按钮点击(BackClick、NextClick等)
  • 使用PageLoad事件初始化页面
  • 实现自定义页面流程
  • 根据验证结果取消导航
  • 使用BackButtonCausesValidation属性

Appearance Customization

外观自定义

📄 Read: references/appearance-customization.md
When to read:
  • Customizing wizard and page backgrounds
  • Setting fonts and colors for text
  • Configuring border styles (Fixed3D, FixedSingle)
  • Styling BannerPanel with gradients
  • Applying themes with Style property
  • Creating light/dark mode wizards
  • Matching application branding
📄 阅读: references/appearance-customization.md
适用场景:
  • 自定义向导和页面背景
  • 为文本设置字体和颜色
  • 配置边框样式(Fixed3D、FixedSingle)
  • 为BannerPanel设置渐变样式
  • 通过Style属性应用主题
  • 创建亮/暗色模式向导
  • 适配应用品牌风格

Design-Time Features

设计时特性

📄 Read: references/design-time-features.md
When to read:
  • Using smart tags for wizard operations
  • Adding/removing pages at design time
  • Navigating between pages in designer
  • Using collection editor for page management
  • Configuring properties in Property Grid
  • Understanding SelectedWizardPage property
  • Working with CardLayout property
📄 阅读: references/design-time-features.md
适用场景:
  • 使用智能标签执行向导操作
  • 在设计时添加/移除页面
  • 在设计器中切换页面
  • 使用集合编辑器管理页面
  • 在属性网格中配置属性
  • 了解SelectedWizardPage属性
  • 使用CardLayout属性

Quick Start Example

快速开始示例

Basic Installation Wizard

基础安装向导

C#:
csharp
using System;
using System.Drawing;
using System.Windows.Forms;
using Syncfusion.Windows.Forms.Tools;

public partial class InstallationWizard : Form
{
    private WizardControl wizardControl1;
    private WizardControlPage welcomePage;
    private WizardControlPage licensePage;
    private WizardControlPage installPage;
    private WizardControlPage finishPage;
    
    public InstallationWizard()
    {
        InitializeComponent();
        CreateWizard();
    }
    
    private void CreateWizard()
    {
        // Create wizard control
        wizardControl1 = new WizardControl
        {
            Dock = DockStyle.Fill,
            Style = Syncfusion.Windows.Forms.Tools.Wizard.Style.Metro
        };
        
        // Create pages
        welcomePage = new WizardControlPage
        {
            Title = "Welcome",
            Description = "Welcome to the Installation Wizard",
            BackVisible = false  // Hide Back on first page
        };
        
        licensePage = new WizardControlPage
        {
            Title = "License Agreement",
            Description = "Please read and accept the license terms"
        };
        
        installPage = new WizardControlPage
        {
            Title = "Installing",
            Description = "Please wait while files are being installed"
        };
        
        finishPage = new WizardControlPage
        {
            Title = "Completed",
            Description = "Installation completed successfully",
            NextVisible = false,
            CancelVisible = false,
            FinishVisible = true
        };
        
        // Add pages to wizard
        wizardControl1.WizardPages = new WizardControlPage[]
        {
            welcomePage,
            licensePage,
            installPage,
            finishPage
        };
        
        // Add wizard to form
        this.Controls.Add(wizardControl1);
        this.Text = "Setup Wizard";
        this.Size = new Size(600, 450);
    }
}
VB.NET:
vbnet
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports Syncfusion.Windows.Forms.Tools

Public Partial Class InstallationWizard
    Inherits Form
    
    Private wizardControl1 As WizardControl
    Private welcomePage As WizardControlPage
    Private licensePage As WizardControlPage
    Private installPage As WizardControlPage
    Private finishPage As WizardControlPage
    
    Public Sub New()
        InitializeComponent()
        CreateWizard()
    End Sub
    
    Private Sub CreateWizard()
        ' Create wizard control
        wizardControl1 = New WizardControl With {
            .Dock = DockStyle.Fill,
            .Style = Syncfusion.Windows.Forms.Tools.Wizard.Style.Metro
        }
        
        ' Create pages
        welcomePage = New WizardControlPage With {
            .Title = "Welcome",
            .Description = "Welcome to the Installation Wizard",
            .BackVisible = False
        }
        
        licensePage = New WizardControlPage With {
            .Title = "License Agreement",
            .Description = "Please read and accept the license terms"
        }
        
        installPage = New WizardControlPage With {
            .Title = "Installing",
            .Description = "Please wait while files are being installed"
        }
        
        finishPage = New WizardControlPage With {
            .Title = "Completed",
            .Description = "Installation completed successfully",
            .NextVisible = False,
            .CancelVisible = False,
            .FinishVisible = True
        }
        
        ' Add pages to wizard
        wizardControl1.WizardPages = New WizardControlPage() {
            welcomePage,
            licensePage,
            installPage,
            finishPage
        }
        
        ' Add wizard to form
        Me.Controls.Add(wizardControl1)
        Me.Text = "Setup Wizard"
        Me.Size = New Size(600, 450)
    End Sub
End Class
C#:
csharp
using System;
using System.Drawing;
using System.Windows.Forms;
using Syncfusion.Windows.Forms.Tools;

public partial class InstallationWizard : Form
{
    private WizardControl wizardControl1;
    private WizardControlPage welcomePage;
    private WizardControlPage licensePage;
    private WizardControlPage installPage;
    private WizardControlPage finishPage;
    
    public InstallationWizard()
    {
        InitializeComponent();
        CreateWizard();
    }
    
    private void CreateWizard()
    {
        // 创建向导控件
        wizardControl1 = new WizardControl
        {
            Dock = DockStyle.Fill,
            Style = Syncfusion.Windows.Forms.Tools.Wizard.Style.Metro
        };
        
        // 创建页面
        welcomePage = new WizardControlPage
        {
            Title = "欢迎",
            Description = "欢迎使用安装向导",
            BackVisible = false  // 首页面隐藏返回按钮
        };
        
        licensePage = new WizardControlPage
        {
            Title = "许可协议",
            Description = "请阅读并接受许可条款"
        };
        
        installPage = new WizardControlPage
        {
            Title = "安装中",
            Description = "请等待文件安装完成"
        };
        
        finishPage = new WizardControlPage
        {
            Title = "完成",
            Description = "安装成功完成",
            NextVisible = false,
            CancelVisible = false,
            FinishVisible = true
        };
        
        // 向向导添加页面
        wizardControl1.WizardPages = new WizardControlPage[]
        {
            welcomePage,
            licensePage,
            installPage,
            finishPage
        };
        
        // 向窗体添加向导
        this.Controls.Add(wizardControl1);
        this.Text = "安装向导";
        this.Size = new Size(600, 450);
    }
}
VB.NET:
vbnet
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports Syncfusion.Windows.Forms.Tools

Public Partial Class InstallationWizard
    Inherits Form
    
    Private wizardControl1 As WizardControl
    Private welcomePage As WizardControlPage
    Private licensePage As WizardControlPage
    Private installPage As WizardControlPage
    Private finishPage As WizardControlPage
    
    Public Sub New()
        InitializeComponent()
        CreateWizard()
    End Sub
    
    Private Sub CreateWizard()
        ' 创建向导控件
        wizardControl1 = New WizardControl With {
            .Dock = DockStyle.Fill,
            .Style = Syncfusion.Windows.Forms.Tools.Wizard.Style.Metro
        }
        
        ' 创建页面
        welcomePage = New WizardControlPage With {
            .Title = "欢迎",
            .Description = "欢迎使用安装向导",
            .BackVisible = False
        }
        
        licensePage = New WizardControlPage With {
            .Title = "许可协议",
            .Description = "请阅读并接受许可条款"
        }
        
        installPage = New WizardControlPage With {
            .Title = "安装中",
            .Description = "请等待文件安装完成"
        }
        
        finishPage = New WizardControlPage With {
            .Title = "完成",
            .Description = "安装成功完成",
            .NextVisible = False,
            .CancelVisible = False,
            .FinishVisible = True
        }
        
        ' 向向导添加页面
        wizardControl1.WizardPages = New WizardControlPage() {
            welcomePage,
            licensePage,
            installPage,
            finishPage
        }
        
        ' 向窗体添加向导
        Me.Controls.Add(wizardControl1)
        Me.Text = "安装向导"
        Me.Size = New Size(600, 450)
    End Sub
End Class

Common Patterns

常用模式

Pattern 1: Wizard with Validation

模式1:带验证的向导

Validate data before allowing navigation to next page:
C#:
csharp
public partial class RegistrationWizard : Form
{
    private WizardControlPage personalInfoPage;
    private TextBox txtName;
    private TextBox txtEmail;
    
    private void SetupWizard()
    {
        personalInfoPage = new WizardControlPage
        {
            Title = "Personal Information",
            Description = "Please enter your details"
        };
        
        // Add controls to page
        txtName = new TextBox { Location = new Point(20, 20), Width = 300 };
        txtEmail = new TextBox { Location = new Point(20, 60), Width = 300 };
        
        personalInfoPage.Controls.Add(new Label 
        { 
            Text = "Name:", 
            Location = new Point(20, 0) 
        });
        personalInfoPage.Controls.Add(txtName);
        personalInfoPage.Controls.Add(new Label 
        { 
            Text = "Email:", 
            Location = new Point(20, 40) 
        });
        personalInfoPage.Controls.Add(txtEmail);
        
        // Subscribe to validation event
        personalInfoPage.ValidatePage += PersonalInfoPage_ValidatePage;
    }
    
    private void PersonalInfoPage_ValidatePage(object sender, 
        System.ComponentModel.CancelEventArgs e)
    {
        // Validate name
        if (string.IsNullOrWhiteSpace(txtName.Text))
        {
            MessageBox.Show("Please enter your name.", "Validation Error",
                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            e.Cancel = true;
            txtName.Focus();
            return;
        }
        
        // Validate email
        if (string.IsNullOrWhiteSpace(txtEmail.Text) || 
            !txtEmail.Text.Contains("@"))
        {
            MessageBox.Show("Please enter a valid email address.", 
                "Validation Error",
                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            e.Cancel = true;
            txtEmail.Focus();
            return;
        }
    }
}
在允许用户导航到下一页前验证数据:
C#:
csharp
public partial class RegistrationWizard : Form
{
    private WizardControlPage personalInfoPage;
    private TextBox txtName;
    private TextBox txtEmail;
    
    private void SetupWizard()
    {
        personalInfoPage = new WizardControlPage
        {
            Title = "个人信息",
            Description = "请输入你的详细信息"
        };
        
        // 向页面添加控件
        txtName = new TextBox { Location = new Point(20, 20), Width = 300 };
        txtEmail = new TextBox { Location = new Point(20, 60), Width = 300 };
        
        personalInfoPage.Controls.Add(new Label 
        { 
            Text = "姓名:", 
            Location = new Point(20, 0) 
        });
        personalInfoPage.Controls.Add(txtName);
        personalInfoPage.Controls.Add(new Label 
        { 
            Text = "邮箱:", 
            Location = new Point(20, 40) 
        });
        personalInfoPage.Controls.Add(txtEmail);
        
        // 订阅验证事件
        personalInfoPage.ValidatePage += PersonalInfoPage_ValidatePage;
    }
    
    private void PersonalInfoPage_ValidatePage(object sender, 
        System.ComponentModel.CancelEventArgs e)
    {
        // 验证姓名
        if (string.IsNullOrWhiteSpace(txtName.Text))
        {
            MessageBox.Show("请输入你的姓名。", "验证错误",
                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            e.Cancel = true;
            txtName.Focus();
            return;
        }
        
        // 验证邮箱
        if (string.IsNullOrWhiteSpace(txtEmail.Text) || 
            !txtEmail.Text.Contains("@"))
        {
            MessageBox.Show("请输入有效的邮箱地址。", 
                "验证错误",
                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            e.Cancel = true;
            txtEmail.Focus();
            return;
        }
    }
}

Pattern 2: Dynamic Page Sequence

模式2:动态页面流程

Control page flow based on user selections:
C#:
csharp
public partial class ConfigurationWizard : Form
{
    private WizardControlPage typePage;
    private WizardControlPage basicSettingsPage;
    private WizardControlPage advancedSettingsPage;
    private RadioButton rbBasic;
    private RadioButton rbAdvanced;
    
    private void SetupDynamicWizard()
    {
        typePage = new WizardControlPage
        {
            Title = "Configuration Type",
            Description = "Choose your configuration level"
        };
        
        rbBasic = new RadioButton 
        { 
            Text = "Basic Configuration", 
            Location = new Point(20, 20),
            Checked = true
        };
        rbAdvanced = new RadioButton 
        { 
            Text = "Advanced Configuration", 
            Location = new Point(20, 50) 
        };
        
        typePage.Controls.Add(rbBasic);
        typePage.Controls.Add(rbAdvanced);
        
        basicSettingsPage = new WizardControlPage
        {
            Title = "Basic Settings",
            Description = "Configure basic options"
        };
        
        advancedSettingsPage = new WizardControlPage
        {
            Title = "Advanced Settings",
            Description = "Configure advanced options"
        };
        
        // Set dynamic page sequence
        typePage.NextClick += TypePage_NextClick;
    }
    
    private void TypePage_NextClick(object sender, EventArgs e)
    {
        // Dynamically set next page based on selection
        if (rbBasic.Checked)
        {
            typePage.NextPage = basicSettingsPage;
        }
        else
        {
            typePage.NextPage = advancedSettingsPage;
        }
    }
}
根据用户选择控制页面跳转逻辑:
C#:
csharp
public partial class ConfigurationWizard : Form
{
    private WizardControlPage typePage;
    private WizardControlPage basicSettingsPage;
    private WizardControlPage advancedSettingsPage;
    private RadioButton rbBasic;
    private RadioButton rbAdvanced;
    
    private void SetupDynamicWizard()
    {
        typePage = new WizardControlPage
        {
            Title = "配置类型",
            Description = "选择你的配置级别"
        };
        
        rbBasic = new RadioButton 
        { 
            Text = "基础配置", 
            Location = new Point(20, 20),
            Checked = true
        };
        rbAdvanced = new RadioButton 
        { 
            Text = "高级配置", 
            Location = new Point(20, 50) 
        };
        
        typePage.Controls.Add(rbBasic);
        typePage.Controls.Add(rbAdvanced);
        
        basicSettingsPage = new WizardControlPage
        {
            Title = "基础设置",
            Description = "配置基础选项"
        };
        
        advancedSettingsPage = new WizardControlPage
        {
            Title = "高级设置",
            Description = "配置高级选项"
        };
        
        // 设置动态页面流程
        typePage.NextClick += TypePage_NextClick;
    }
    
    private void TypePage_NextClick(object sender, EventArgs e)
    {
        // 根据选择动态设置下一页
        if (rbBasic.Checked)
        {
            typePage.NextPage = basicSettingsPage;
        }
        else
        {
            typePage.NextPage = advancedSettingsPage;
        }
    }
}

Pattern 3: Wizard with Progress Tracking

模式3:带进度追踪的向导

Show current step progress in banner:
C#:
csharp
public partial class DataImportWizard : Form
{
    private Label lblProgress;
    
    private void SetupProgressWizard()
    {
        // Create progress label in banner
        lblProgress = new Label
        {
            Text = "Step 1 of 4",
            Location = new Point(400, 10),
            AutoSize = true,
            Font = new Font("Arial", 9, FontStyle.Bold)
        };
        
        // Add to wizard's banner panel (assuming gradientPanel1 is banner)
        wizardControl1.BannerPanel.Controls.Add(lblProgress);
        
        // Subscribe to page changes
        wizardControl1.BeforePageSelect += WizardControl1_BeforePageSelect;
    }
    
    private void WizardControl1_BeforePageSelect(object sender, EventArgs e)
    {
        // Update progress based on current page
        int currentIndex = wizardControl1.WizardPages.IndexOf(
            wizardControl1.SelectedWizardPage);
        int totalPages = wizardControl1.WizardPages.Count;
        
        lblProgress.Text = $"Step {currentIndex + 1} of {totalPages}";
    }
}
在横幅中展示当前步骤进度:
C#:
csharp
public partial class DataImportWizard : Form
{
    private Label lblProgress;
    
    private void SetupProgressWizard()
    {
        // 在横幅中创建进度标签
        lblProgress = new Label
        {
            Text = "第1步,共4步",
            Location = new Point(400, 10),
            AutoSize = true,
            Font = new Font("Arial", 9, FontStyle.Bold)
        };
        
        // 添加到向导的横幅面板(假设gradientPanel1是横幅)
        wizardControl1.BannerPanel.Controls.Add(lblProgress);
        
        // 订阅页面切换事件
        wizardControl1.BeforePageSelect += WizardControl1_BeforePageSelect;
    }
    
    private void WizardControl1_BeforePageSelect(object sender, EventArgs e)
    {
        // 根据当前页面更新进度
        int currentIndex = wizardControl1.WizardPages.IndexOf(
            wizardControl1.SelectedWizardPage);
        int totalPages = wizardControl1.WizardPages.Count;
        
        lblProgress.Text = $"第{currentIndex + 1}步,共{totalPages}步";
    }
}

Key Properties

核心属性

WizardControl Properties

WizardControl属性

PropertyTypeDescription
WizardPages
WizardControlPage[]
Collection of wizard pages
SelectedWizardPage
WizardControlPage
Currently displayed page
BannerPanel
Panel
Panel containing banner controls
Banner
Control
Picture box for banner image
Title
Label
Label displaying page title
Description
Label
Label displaying page description
BackButton
Button
Back navigation button
NextButton
Button
Next navigation button
CancelButton
Button
Cancel button
FinishButton
Button
Finish button
HelpButton
Button
Help button
Style
Wizard.Style
Visual theme (Default, Metro, Office)
BackButtonCausesValidation
bool
Whether Back button triggers validation
AutoLayoutBanner
bool
Automatically layout banner controls
AutoLayoutTitle
bool
Automatically layout title label
AutoLayoutDescription
bool
Automatically layout description label
属性类型描述
WizardPages
WizardControlPage[]
向导页面集合
SelectedWizardPage
WizardControlPage
当前展示的页面
BannerPanel
Panel
包含横幅控件的面板
Banner
Control
用于展示横幅图片的图片框
Title
Label
展示页面标题的标签
Description
Label
展示页面描述的标签
BackButton
Button
返回导航按钮
NextButton
Button
下一步导航按钮
CancelButton
Button
取消按钮
FinishButton
Button
完成按钮
HelpButton
Button
帮助按钮
Style
Wizard.Style
视觉主题(Default、Metro、Office)
BackButtonCausesValidation
bool
返回按钮是否触发验证
AutoLayoutBanner
bool
是否自动布局横幅控件
AutoLayoutTitle
bool
是否自动布局标题标签
AutoLayoutDescription
bool
是否自动布局描述标签

WizardControlPage Properties

WizardControlPage属性

PropertyTypeDescription
Title
string
Page title text
Description
string
Page description text
BackVisible
bool
Back button visibility
NextVisible
bool
Next button visibility
CancelVisible
bool
Cancel button visibility
FinishVisible
bool
Finish button visibility
HelpVisible
bool
Help button visibility
BackEnabled
bool
Back button enabled state
NextEnabled
bool
Next button enabled state
CancelEnabled
bool
Cancel button enabled state
FinishEnabled
bool
Finish button enabled state
HelpEnabled
bool
Help button enabled state
FullPage
bool
Hide banner for full-page content
NextPage
WizardPage
Custom next page override
PreviousPage
WizardPage
Custom previous page override
CancelOverFinish
bool
Position cancel over finish button
LayoutName
string
Unique identifier for page
属性类型描述
Title
string
页面标题文本
Description
string
页面描述文本
BackVisible
bool
返回按钮可见性
NextVisible
bool
下一步按钮可见性
CancelVisible
bool
取消按钮可见性
FinishVisible
bool
完成按钮可见性
HelpVisible
bool
帮助按钮可见性
BackEnabled
bool
返回按钮启用状态
NextEnabled
bool
下一步按钮启用状态
CancelEnabled
bool
取消按钮启用状态
FinishEnabled
bool
完成按钮启用状态
HelpEnabled
bool
帮助按钮启用状态
FullPage
bool
隐藏横幅以展示全页面内容
NextPage
WizardPage
自定义下一页跳转覆盖
PreviousPage
WizardPage
自定义上一页跳转覆盖
CancelOverFinish
bool
将取消按钮放在完成按钮上方
LayoutName
string
页面唯一标识符

Common Use Cases

常见使用场景

  1. Installation Wizards - Multi-step software installation with welcome, license, options, install, and finish pages
  2. Setup Assistants - Application configuration wizards for first-run setup or preferences
  3. Registration Forms - Step-by-step user registration with personal info, account details, preferences, and confirmation
  4. Data Import Wizards - Guided data import with source selection, mapping, validation, and import execution
  5. Report Generators - Report creation wizards with parameter selection, formatting, preview, and export
  6. Configuration Managers - Complex configuration interfaces broken into logical categories with navigation
  7. Checkout Processes - E-commerce checkout flows with cart, shipping, payment, and confirmation pages
  8. Onboarding Experiences - New user onboarding with tutorial steps, feature introduction, and setup completion
  1. 安装向导 - 包含欢迎、许可、选项、安装、完成页面的多步骤软件安装向导
  2. 设置助手 - 用于首次运行设置或偏好配置的应用配置向导
  3. 注册表单 - 包含个人信息、账号详情、偏好设置、确认步骤的分步用户注册流程
  4. 数据导入向导 - 包含源选择、映射、验证、导入执行的引导式数据导入流程
  5. 报告生成器 - 包含参数选择、格式设置、预览、导出的报告创建向导
  6. 配置管理器 - 拆分为逻辑分类并支持导航的复杂配置界面
  7. 结账流程 - 包含购物车、配送、支付、确认页面的电商结账流程
  8. 新手引导体验 - 包含教程步骤、功能介绍、设置完成的新用户引导流程

Additional Resources

额外资源