关于 syncfusion-winforms-statusbaradv-panel
面向 Windows Forms 开发者的 Syncfusion StatusBarAdvPanel 实现指南,涵盖状态面板内容、外观和行为配置。支持键盘状态、日期时间等预设类型及滚动文本动画。
主要功能
- 01显示自定义文本、键盘状态及日期时间
- 02设置渐变、图案、图标与边框
- 03配置滚动、滑动和交替动画
- 04调整内容与流式布局对齐
- 05自动调整尺寸并处理属性事件
适用场景
- 01在状态栏显示 NumLock 或 CapsLock 状态
- 02显示日期、时间或当前文化信息
- 03以滚动文本展示公告
- 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.mdappearance-styling.mdgetting-started.mdpanel-types-and-behavior.mdtext-and-marquee.mdthemes-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 属性
| 属性 | 类型 | 描述 |
|---|---|---|
| PanelType | StatusBarAdvPanelType | 面板类型(Custom、NumLockState、CapsLockState、ScrollLockState、InsertKeyState、ShortDate、LongDate、ShortTime、LongTime、CurrentCulture) |
| Text | string | 面板中显示的文本(用于 Custom 面板类型) |
| BackgroundColor | BrushInfo | 背景渐变、图案或纯色 |
| Icon | Icon | 面板中显示的图标 |
| Alignment | HorizontalAlignment | 文本和图标的对齐方式(Left、Right、Center) |
| HAlign | HorzFlowAlign | 流式布局中的水平对齐方式(Left、Right、Center、Justify) |
| IsMarquee | bool | 启用跑马灯样式的文本动画 |
| AnimationStyle | MarqueeStyle | 动画样式(Scroll、Slide、Alternate) |
| AnimationDirection | MarqueeDirection | 动画方向(Left、Right) |
| AnimationSpeed | int | 跑马灯动画速度 |
| AnimationDelay | int | 动画开始前的延迟 |
| BorderStyle | BorderStyle | 边框样式(None、FixedSingle、Fixed3D) |
| Border3DStyle | Border3DStyle | 3D 边框样式(10 种选项) |
| BorderColor | Color | 2D 边框的颜色 |
| BorderSingle | ButtonBorderStyle | 2D 边框样式(Solid、Dashed、Dotted 等) |
| BorderSides | Border3DSide | 要显示的边框边(All、Top、Bottom、Left、Right、Middle) |
| SizeToContent | bool | 根据内容自动调整面板大小 |
| PreferredSize | Size | 流式布局中的首选大小 |
| ThemesEnabled | bool | 启用主题外观 |
| IgnoreThemeBackground | bool | 忽略主题背景色 |
| ToolTip | string | 面板的工具提示文本 |
常见用例
- 应用程序状态显示:通过自定义文本和样式显示当前应用程序状态
- 键盘状态指示器:显示 NumLock、CapsLock、ScrollLock 和 Insert 键的状态
- 日期/时间信息:以各种格式显示当前日期和时间
- 区域设置信息:显示当前区域设置
- 跑马灯公告:滚动显示公告或更新内容
- 进度指示器:使用文本指示处理状态的自定义面板
- 文档信息:显示与文档相关的信息(行号、位置等)
- 主题化状态面板:使用协调的面板样式与应用程序主题保持一致
其他资源
有关 StatusBarAdvPanel 的更多信息:
- 在 StatusBarAdv 控件中使用,以增强状态栏
- 组合多个不同类型的面板,全面显示状态
- 利用事件,根据应用程序状态动态更新面板
- 在所有面板中应用一致的主题,呈现专业外观