mcpField
S
syncfusion-winforms-radial-slider

syncfusion-winforms-radial-slider

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

关于 syncfusion-winforms-radial-slider

面向 Windows Forms 开发者的 RadialSlider 技能,介绍如何构建圆形数值选择控件。可配置取值范围、刻度、指针、颜色和主题,并通过事件跟踪数值变化。

主要功能

  1. 01圆形拨盘选择数值
  2. 02配置最小值、最大值和刻度
  3. 03自定义指针样式与颜色
  4. 04应用 Office 2016 主题
  5. 05格式化刻度文本并跟踪数值变化

适用场景

  1. 01制作音量旋钮或音频控制
  2. 02设置温度和风扇速度
  3. 03调整亮度或不透明度
  4. 04构建可交互的仪表盘

安装

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

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

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

包含的文件

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

references/
appearance-customization.md
getting-started.md
value-configuration.md

详细介绍

实现径向滑块(RadialSlider)

一种适用于 Windows Forms 的圆形滑块控件,通过绕径向刻度盘旋转的指针提供直观的数值选择,并支持自定义刻度和主题。

何时使用此技能

在以下情况下使用此技能:

  • 圆形数值选择:实现基于刻度盘的数值输入(例如音量旋钮、温度刻度盘)
  • 旋转控件:创建带有视觉反馈的旋转控件
  • 数值选择器:构建具有最小值和最大值范围的圆形数值选择器
  • 刻度标记:在圆形刻度盘周围显示数值刻度
  • 视觉指示器:以径向或圆形格式显示数值
  • 交互式刻度盘:实现旋钮式控件(仪表、滑块、旋转开关)
  • 主题化控件:为圆形滑块应用 Office 2016 视觉主题
  • 自定义数值范围:设置带有视觉刻度的特定最小值和最大值范围

组件概览

RadialSlider 是一种高级圆形滑块控件,提供:

  • 带旋转指针的圆形/径向数值选择
  • 可自定义的最小值和最大值范围
  • 刻度盘周围的刻度标记
  • 两种滑块样式(带空心圆的 Default 样式、带背景的 Frame 样式)
  • 五种 Office 2016 视觉主题,以及默认样式
  • 可自定义颜色(背景、圆圈、指针、前景)
  • 两种指针类型(直线、点线)
  • 用于实时跟踪数值的 ValueChanged 事件
  • 用于自定义刻度标签格式的文本格式设置

主要功能:

  • MinimumValue 和 MaximumValue 属性,用于配置范围
  • Value 属性,用于获取/设置当前选择值
  • SliderDivision 属性,用于配置刻度标记
  • SliderStyle 枚举(Default、Frame)
  • Style 属性,提供 6 种视觉主题
  • NeedleType 枚举(StraightLine、DottedLine)
  • 颜色自定义(BackgroundColor、InnerCircleColor、OuterCircleColor、SliderNeedleColor)
  • 用于跟踪数值变化的 ValueChanged 事件
  • 用于自定义文本格式的 DrawText 事件

文档与导航指南

入门

📄 阅读: references/getting-started.md

阅读时机: 首次设置 RadialSlider、将其添加到窗体、进行基本配置时

涵盖主题:

  • 程序集要求和 NuGet 安装
  • 基于设计器的设置(从工具箱拖放)
  • 以编程方式创建和配置
  • 基本尺寸和属性配置
  • 滑块样式(Default 与 Frame)
  • ShowOuterCircle 属性
  • 安装问题排查
数值配置

📄 阅读: references/value-configuration.md

阅读时机: 配置数值范围和刻度、处理数值变化、自定义文本格式时

涵盖主题:

  • MinimumValue 和 MaximumValue 属性
  • Value 属性(获取/设置当前值)
  • 用于刻度标记的 SliderDivision 属性
  • ValueChanged 事件处理
  • 用于自定义文本格式的 DrawText 事件
  • TextType 枚举(Interval、Pointer、Value)
  • DrawTextEventArgs 属性(Text、ForeColor、Font)
  • 数值跟踪的实用示例
外观自定义

📄 阅读: references/appearance-customization.md

阅读时机: 应用视觉主题、自定义颜色、更改指针外观时

涵盖主题:

  • BackgroundColor 属性
  • InnerCircleColor 和 OuterCircleColor 属性
  • SliderNeedleColor 属性
  • ForeColor 属性
  • NeedleType 枚举(StraightLine、DottedLine)
  • 视觉样式(6 种主题:Default、Office2016Colorful/White/DarkGray/Black)
  • 完整的主题设置示例
  • 颜色组合最佳实践

快速入门示例

创建一个用于音量控制的基本 RadialSlider:

C#:

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

public partial class VolumeControl : Form
{
    private RadialSlider volumeSlider;
    private Label lblVolume;
    
    public VolumeControl()
    {
        InitializeComponent();
        SetupVolumeControl();
    }
    
    private void SetupVolumeControl()
    {
        // Create radial slider
        volumeSlider = new RadialSlider
        {
            Location = new System.Drawing.Point(50, 50),
            Size = new System.Drawing.Size(250, 250),
            MinimumValue = 0,
            MaximumValue = 100,
            Value = 50,
            SliderDivision = 10,
            SliderStyle = SliderStyles.Frame
        };
        
        // Create label for volume display
        lblVolume = new Label
        {
            Location = new System.Drawing.Point(50, 310),
            Size = new System.Drawing.Size(250, 30),
            Text = "Volume: 50",
            TextAlign = System.Drawing.ContentAlignment.MiddleCenter
        };
        
        // Handle value changes
        volumeSlider.ValueChanged += VolumeSlider_ValueChanged;
        
        // Add to form
        this.Controls.Add(volumeSlider);
        this.Controls.Add(lblVolume);
    }
    
    private void VolumeSlider_ValueChanged(object sender, RadialSlider.ValueChangedEventArgs e)
    {
        lblVolume.Text = $"Volume: {volumeSlider.Value}";
    }
}

常见模式

模式 1:使用自定义文本的温度控件

C#:

private RadialSlider tempSlider;

private void SetupTemperatureControl()
{
    tempSlider = new RadialSlider
    {
        MinimumValue = 0,
        MaximumValue = 100,
        Value = 25,
        SliderDivision = 10,
        Style = RadialSliderStyle.Office2016Colorful
    };
    
    // Custom text formatting with degree symbol
    tempSlider.DrawText += TempSlider_DrawText;
    
    this.Controls.Add(tempSlider);
}

private void TempSlider_DrawText(object sender, RadialSlider.DrawTextEventArgs e)
{
    // Add degree Celsius symbol
    e.Text += "°C";
    
    // Color code by temperature range
    int temp = int.Parse(e.Text.Replace("°C", ""));
    
    if (temp <= 33)
    {
        e.ForeColor = System.Drawing.Color.Blue; // Cold
    }
    else if (temp > 33 && temp <= 66)
    {
       e.ForeColor = System.Drawing.Color.Orange; // Warm
    }
    else
    {
        e.ForeColor = System.Drawing.Color.Red; // Hot
    }
}

主要属性

属性类型默认值用途
MinimumValueint0滑块范围的起始值
MaximumValueint10滑块范围的结束值
Valueint0当前选定值
SliderDivisionint10分隔标记的数量
SliderStyleSliderStylesDefault视觉样式(Default、Frame)
StyleRadialSliderStyleDefault主题(Default、Office2016*)
BackgroundColorColor系统默认值背景颜色
InnerCircleColorColor系统默认值内圆颜色
OuterCircleColorColor系统默认值外圆颜色
SliderNeedleColorColor系统默认值指针颜色
ForeColorColor系统默认值文本颜色
NeedleTypeSliderNeedleTypeStraightLine指针外观
ShowOuterCirclebooltrue显示/隐藏外圆

常见用例

音量/音频控制

使用 RadialSlider 创建音量旋钮、音频级别控件或媒体播放器控件,通过圆形旋钮实现直观控制。

温度设置

为恒温器、气候控制或天气应用实现温度选择器,并使用颜色区分范围。

速度控制

为电机、风扇或动画创建速度选择器,并通过分隔标记提供视觉反馈。

亮度/不透明度调整

为显示器、图像编辑器或灯光控制构建亮度控件,并使用基于百分比的范围。

计时器/时长选择

实现倒计时器或时长选择器,并在圆形表盘上标示分钟/秒的分隔。

仪表显示

创建用户可以调整的交互式仪表(燃油表、压力表、进度指示器)。

设置面板

用于适合以可视化方式呈现的数值设置(缩放级别、质量设置、强度控件)。

数据可视化

实现交互式数据选择器,适用于更偏好圆形呈现而非线性滑块的场景。

其他资源

评论

支持 Markdown