mcpField
S
syncfusion-winforms-statusbaradv-panel

syncfusion-winforms-statusbaradv-panel

github.com/syncfusion设计与 UI276 次安装1 周前更新
代码仓库

关于 syncfusion-winforms-statusbaradv-panel

面向 Windows Forms 开发者的 Syncfusion StatusBarAdvPanel 实现指南,涵盖状态面板内容、外观和行为配置。支持键盘状态、日期时间等预设类型及滚动文本动画。

主要功能

  1. 01显示自定义文本、键盘状态及日期时间
  2. 02设置渐变、图案、图标与边框
  3. 03配置滚动、滑动和交替动画
  4. 04调整内容与流式布局对齐
  5. 05自动调整尺寸并处理属性事件

适用场景

  1. 01在状态栏显示 NumLock 或 CapsLock 状态
  2. 02显示日期、时间或当前文化信息
  3. 03以滚动文本展示公告
  4. 04按应用主题定制面板外观

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-statusbaradv-panel

安装后在 Claude Code 中输入/syncfusion-winforms-statusbaradv-panel确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
alignment-and-borders.md
appearance-styling.md
getting-started.md
panel-types-and-behavior.md
text-and-marquee.md
themes-tooltips-events.md

详细介绍

实现状态栏面板(StatusBarAdvPanel)

本技能介绍如何在 Windows Forms 应用程序中实现 Syncfusion StatusBarAdvPanel 控件。StatusBarAdvPanel 是一个派生自面板的类,用于显示状态栏信息,具有增强的外观和跑马灯动画效果,既可用于 StatusBarAdv 控件中,也可独立放置在窗体上。

何时使用此技能

在需要以下功能时使用此技能:

  • 创建具有自定义内容和样式的独立状态栏面板
  • 显示关键状态指示器(NumLock、CapsLock、ScrollLock、Insert 键)
  • 以多种格式显示日期/时间信息(短日期、长日期、短时间、长时间)
  • 在状态栏中显示区域性信息(CurrentCulture)
  • 实现具有滚动、滑动或交替效果的跑马灯文本动画
  • 为状态栏面板应用渐变背景或图案
  • 配置面板在 StatusBarAdv 或流式布局中的对齐方式
  • 为单个面板添加自定义边框(2D 或 3D)
  • 处理属性更改事件以动态更新面板
  • 创建与应用程序设计风格一致的主题化状态栏面板

组件概述

StatusBarAdvPanel 是一款多功能状态栏面板控件,具有以下功能:

  • 面板类型:预定义类型,用于显示按键状态、日期/时间、区域性信息或自定义文本
  • 跑马灯动画:可自定义速度、方向和样式的滚动文本
  • 增强型背景:使用 BrushInfo 提供渐变、图案和纯色选项
  • 图标支持:在面板文本旁显示图标
  • 对齐选项:内容对齐方式(Left、Right、Center)和流式对齐方式(包括 Justify)
  • 边框自定义:支持自定义颜色的 2D 和 3D 边框样式
  • 自动调整大小:根据内容自动调整大小(SizeToContent)
  • 主题支持:ThemesEnabled 和 IgnoreThemeBackground 属性
  • 工具提示支持:添加工具提示以提供更多信息
  • 18 个属性事件:全面支持属性更改事件处理

程序集: Syncfusion.Tools.Windows
依赖项: Syncfusion.Shared.Base、Syncfusion.Tools.Windows
命名空间: Syncfusion.Windows.Forms.Tools

文档和导航指南

入门

📄 阅读: references/getting-started.md

阅读时机: 首次实现 StatusBarAdvPanel、设置程序集或创建基本面板时。

  • 程序集要求和安装
  • 使用设计器进行拖放式设置
  • 以编程方式创建和初始化
  • 将面板添加到 StatusBarAdv 或窗体
  • 基本配置(Location、Size、BackgroundColor)
  • PanelType 和 BorderColor 设置
  • 常见设置问题的故障排除
面板类型和行为

📄 阅读: references/panel-types-and-behavior.md

阅读时机: 配置面板类型、显示按键状态或日期/时间,或自定义面板大小时。

  • PanelType 属性选项(按键状态、日期/时间、区域性信息、自定义)
  • 按键状态指示器(NumLock、CapsLock、ScrollLock、InsertKey)
  • 日期/时间格式(ShortDate、LongDate、ShortTime、LongTime)
  • 使用 Text 属性创建自定义文本面板
  • 用于获取按键状态文本的 GetText() 方法
  • 使用 SizeToContent 自动调整面板大小
  • PreferredSize 属性配置
外观和样式

📄 阅读: references/appearance-styling.md

阅读时机: 自定义面板外观、应用渐变、设置背景颜色或添加图标时。

  • 使用 BrushInfo 配置 BackgroundColor 属性
  • 渐变样式(6 种:ForwardDiagonal、BackwardDiagonal、Horizontal、Vertical、PathRectangle、PathEllipse)
  • 图案样式(Cross、DiagonalCross、DottedGrid、LargeGrid、Wave)
  • GradientBackground 和 GradientColors 配置
  • BackColor 和 ForeColor 自定义
  • 用于面板图标的 Icon 属性
  • 完整样式示例
文本和跑马灯动画

📄 阅读: references/text-and-marquee.md

阅读时机: 实现跑马灯文本动画、配置滚动效果或控制动画行为时。

  • 文本属性配置
  • 用于启用动画的 IsMarquee 属性
  • 用于控制时间的 AnimationDelay
  • AnimationDirection(Left/Right)
  • 自定义 AnimationSpeed
  • AnimationStyle(Scroll、Slide、Alternate)
  • StartAnimation() 和 StopAnimation() 方法
  • 完整的跑马灯示例
对齐和边框

📄 阅读: references/alignment-and-borders.md

阅读时机: 配置面板对齐方式、自定义边框或设置流式布局位置时。

  • Alignment 属性(Left、Right、Center)
  • 用于流式布局的 HAlign 属性(Left、Right、Center、Justify)
  • BorderStyle 属性(None、FixedSingle、Fixed3D)
  • Border3DStyle 选项(10 种样式)
  • 用于 2D 边框的 BorderColor
  • BorderSingle 样式(Solid、Dashed、Dotted、Inset、Outset、None)
  • BorderSides 配置(Left、Top、Right、Bottom、Middle、All)
  • 2D 与 3D 边框示例
主题、工具提示和事件

📄 阅读: references/themes-tooltips-events.md

阅读时机: 实现主题、添加工具提示或处理属性更改事件时。

  • ThemesEnabled 属性
  • IgnoreThemeBackground 属性
  • ToolTip 属性配置
  • 18 个属性更改事件
  • 事件订阅示例
  • 事件处理模式
  • 完整的事件监控示例

快速入门示例

带渐变背景的基本 StatusBarAdvPanel

C#:

using Syncfusion.Windows.Forms.Tools;
using Syncfusion.Drawing;
using System.Drawing;
using System.Windows.Forms;

public partial class MainForm : Form
{
    private StatusBarAdvPanel statusBarAdvPanel1;
    
    public MainForm()
    {
        InitializeComponent();
        SetupStatusBarPanel();
    }
    
    private void SetupStatusBarPanel()
    {
        // Create StatusBarAdvPanel
        statusBarAdvPanel1 = new StatusBarAdvPanel
        {
            // Set panel location and size
            Location = new Point(160, 184),
            Size = new Size(216, 48),
            
            // Configure panel type to show long date
            PanelType = StatusBarAdvPanelType.LongDate,
            
            // Apply gradient background
            BackgroundColor = new BrushInfo(
                GradientStyle.BackwardDiagonal, 
                Color.PaleVioletRed, 
                Color.PeachPuff
            ),
            
            // Set border and alignment
            BorderColor = Color.Black,
            HAlign = HorzFlowAlign.Left
        };
        
        // Add to form
        this.Controls.Add(statusBarAdvPanel1);
    }
}

VB.NET:

Imports Syncfusion.Windows.Forms.Tools
Imports Syncfusion.Drawing
Imports System.Drawing
Imports System.Windows.Forms

Public Partial Class MainForm
    Inherits Form
    
    Private statusBarAdvPanel1 As StatusBarAdvPanel
    
    Public Sub New()
        InitializeComponent()
        SetupStatusBarPanel()
    End Sub
    
    Private Sub SetupStatusBarPanel()
        ' Create StatusBarAdvPanel
        statusBarAdvPanel1 = New StatusBarAdvPanel With {
            .Location = New Point(160, 184),
            .Size = New Size(216, 48),
            .PanelType = StatusBarAdvPanelType.LongDate,
            .BackgroundColor = New BrushInfo(
                GradientStyle.BackwardDiagonal, 
                Color.PaleVioletRed, 
                Color.PeachPuff
            ),
            .BorderColor = Color.Black,
            .HAlign = HorzFlowAlign.Left
        }
        
        ' Add to form
        Me.Controls.Add(statusBarAdvPanel1)
    End Sub
End Class

常见模式

模式 1:带滚动文本的跑马灯面板

创建带有跑马灯滚动文本的动画状态面板:

// Configure marquee panel
var marqueePanel = new StatusBarAdvPanel
{
    Text = "Welcome to our application! Latest updates available...",
    IsMarquee = true,
    AnimationStyle = MarqueeStyle.Scroll,
    AnimationDirection = MarqueeDirection.Left,
    AnimationSpeed = 5,
    AnimationDelay = 10,
    Size = new Size(300, 30),
    BackColor = Color.LightBlue
};

// Start animation on form load
marqueePanel.StartAnimation();

// Stop animation when needed
// marqueePanel.StopAnimation();
模式 2:按键状态指示面板

创建显示键盘按键状态的面板:

// NumLock indicator
var numLockPanel = new StatusBarAdvPanel
{
    PanelType = StatusBarAdvPanelType.NumLockState,
    Size = new Size(80, 24),
    HAlign = HorzFlowAlign.Right,
    BackgroundColor = new BrushInfo(Color.WhiteSmoke)
};

// CapsLock indicator
var capsLockPanel = new StatusBarAdvPanel
{
    PanelType = StatusBarAdvPanelType.CapsLockState,
    Size = new Size(80, 24),
    HAlign = HorzFlowAlign.Right,
    BackgroundColor = new BrushInfo(Color.WhiteSmoke)
};

// InsertKey indicator
var insertKeyPanel = new StatusBarAdvPanel
{
    PanelType = StatusBarAdvPanelType.InsertKeyState,
    Size = new Size(80, 24),
    HAlign = HorzFlowAlign.Right,
    BackgroundColor = new BrushInfo(Color.WhiteSmoke)
};
模式 3:带 3D 效果的自定义边框

为面板应用自定义 3D 边框:

// Create panel with 3D raised border
var borderedPanel = new StatusBarAdvPanel
{
    Text = "Status: Ready",
    Size = new Size(150, 30),
    BorderStyle = BorderStyle.Fixed3D,
    Border3DStyle = Border3DStyle.RaisedInner,
    BorderSides = Border3DSide.All,
    Alignment = HorizontalAlignment.Center,
    BackgroundColor = new BrushInfo(
        GradientStyle.Horizontal,
        Color.LavenderBlush,
        Color.RosyBrown
    )
};

关键属性

StatusBarAdvPanel 属性
属性类型描述
PanelTypeStatusBarAdvPanelType面板类型(Custom、NumLockState、CapsLockState、ScrollLockState、InsertKeyState、ShortDate、LongDate、ShortTime、LongTime、CurrentCulture)
Textstring面板中显示的文本(用于 Custom 面板类型)
BackgroundColorBrushInfo背景渐变、图案或纯色
IconIcon面板中显示的图标
AlignmentHorizontalAlignment文本和图标的对齐方式(Left、Right、Center)
HAlignHorzFlowAlign流式布局中的水平对齐方式(Left、Right、Center、Justify)
IsMarqueebool启用跑马灯样式的文本动画
AnimationStyleMarqueeStyle动画样式(Scroll、Slide、Alternate)
AnimationDirectionMarqueeDirection动画方向(Left、Right)
AnimationSpeedint跑马灯动画速度
AnimationDelayint动画开始前的延迟
BorderStyleBorderStyle边框样式(None、FixedSingle、Fixed3D)
Border3DStyleBorder3DStyle3D 边框样式(10 种选项)
BorderColorColor2D 边框的颜色
BorderSingleButtonBorderStyle2D 边框样式(Solid、Dashed、Dotted 等)
BorderSidesBorder3DSide要显示的边框边(All、Top、Bottom、Left、Right、Middle)
SizeToContentbool根据内容自动调整面板大小
PreferredSizeSize流式布局中的首选大小
ThemesEnabledbool启用主题外观
IgnoreThemeBackgroundbool忽略主题背景色
ToolTipstring面板的工具提示文本

常见用例

  1. 应用程序状态显示:通过自定义文本和样式显示当前应用程序状态
  2. 键盘状态指示器:显示 NumLock、CapsLock、ScrollLock 和 Insert 键的状态
  3. 日期/时间信息:以各种格式显示当前日期和时间
  4. 区域设置信息:显示当前区域设置
  5. 跑马灯公告:滚动显示公告或更新内容
  6. 进度指示器:使用文本指示处理状态的自定义面板
  7. 文档信息:显示与文档相关的信息(行号、位置等)
  8. 主题化状态面板:使用协调的面板样式与应用程序主题保持一致

其他资源

有关 StatusBarAdvPanel 的更多信息:

  • 在 StatusBarAdv 控件中使用,以增强状态栏
  • 组合多个不同类型的面板,全面显示状态
  • 利用事件,根据应用程序状态动态更新面板
  • 在所有面板中应用一致的主题,呈现专业外观

评论

支持 Markdown