mcpField
S
syncfusion-winforms-range-slider

syncfusion-winforms-range-slider

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

关于 syncfusion-winforms-range-slider

此技能介绍如何在 Windows Forms 应用中实现 Syncfusion RangeSlider,供需要双滑块数值范围选择控件的开发者使用。内容包括范围设定、样式、方向和交互事件。

主要功能

  1. 01双滑块选择数值范围
  2. 02配置最小值和最大值
  3. 03自定义轨道与滑块颜色
  4. 04显示刻度和标签
  5. 05支持水平与垂直布局
  6. 06处理滚动和值变化事件

适用场景

  1. 01按价格范围筛选商品
  2. 02选择日期范围以筛选记录
  3. 03调节科学或工业参数
  4. 04筛选数据以供分析

安装

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

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

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

包含的文件

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

references/
getting-started.md
interactive-features.md
layout-orientation.md
value-configuration.md

详细介绍

实现 Syncfusion Windows Forms Range Slider

在 Windows Forms 应用程序中实现 RangeSlider 控件的完整指南。RangeSlider 是一种灵活的 UI 组件,通过双滑块控件支持数值范围选择,用户可以沿轨道移动滑块,从一系列数值中进行选择。

何时使用此技能

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

  • 创建范围选择 UI,使用双滑块分别选择最小值和最大值
  • 配置范围边界,设置最小值和最大值属性
  • 自定义视觉外观,设置颜色、尺寸和刻度显示
  • 设置滑块的初始位置,使用 SliderMin 和 SliderMax 属性
  • 处理范围选择事件,响应用户交互
  • 支持不同方向(水平或垂直布局)
  • 向 Windows Forms 应用程序添加交互式范围控件

组件概览

RangeSlider 控件具有以下功能:

  • 双滑块控件,可分别选择最小值和最大值
  • 可配置的范围边界,通过 Minimum 和 Maximum 属性设置
  • 颜色自定义,适用于轨道、范围和滑块元素
  • 刻度显示,支持配置频率
  • 水平和垂直方向,支持灵活布局
  • 事件处理,响应滚动和值更改交互
  • 选中范围的视觉突出显示,显示两个滑块之间的选中范围

导航指南

入门

📄 阅读: references/getting-started.md

  • 程序集部署和 NuGet 安装
  • 通过设计器添加
  • 通过代码添加(C# 和 VB.NET 示例)
  • 配置最小值和最大值等基本选项
数值配置

📄 阅读: references/value-configuration.md

  • 设置 SliderMin 和 SliderMax 位置
  • 配置 Minimum 和 Maximum 边界
  • 了解 Range 属性
  • 实用的数值设置示例
交互功能

📄 阅读: references/interactive-features.md

  • 自定义轨道颜色和高度
  • 突出显示范围颜色
  • 配置滑块颜色
  • 调整滑块尺寸
  • 控制刻度显示和频率
  • 事件处理(Scroll 和 ValueChanged 事件)
布局和方向

📄 阅读: references/layout-orientation.md

  • 水平与垂直方向
  • 从右向左 (RTL) 支持
  • Orientation 属性用法
  • 布局注意事项和最佳实践

快速入门示例

以下是一个帮助你快速开始使用 RangeSlider 的最简示例:

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

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        
        // Create RangeSlider instance
        RangeSlider rangeSlider = new RangeSlider();
        
        // Configure range bounds
        rangeSlider.Minimum = 0;
        rangeSlider.Maximum = 100;
        
        // Set initial thumb positions
        rangeSlider.SliderMin = 20;
        rangeSlider.SliderMax = 80;
        
        // Show value labels
        rangeSlider.ShowLabels = true;
        
        // Display ticks
        rangeSlider.ShowTicks = true;
        rangeSlider.TickFrequency = 10;
        
        // Add to form
        this.Controls.Add(rangeSlider);
    }
}

常见模式

模式 1:价格范围筛选器

创建带自定义格式的价格范围选择器:

rangeSlider.Minimum = 0;
rangeSlider.Maximum = 1000;
rangeSlider.SliderMin = 100;
rangeSlider.SliderMax = 900;

rangeSlider.ValueChanged += (s, e) =>
{
    decimal minPrice = rangeSlider.SliderMin;
    decimal maxPrice = rangeSlider.SliderMax;
    // Update product list based on price range
};
模式 2:自定义视觉样式

自定义颜色以提供视觉反馈:

// Set distinct colors for visual hierarchy
rangeSlider.ChannelColor = Color.LightGray;      // Background track
rangeSlider.RangeColor = Color.DarkGreen;        // Selected range
rangeSlider.ThumbColor = Color.Green;            // Thumb controls

// Adjust sizing
rangeSlider.ChannelHeight = 6;
rangeSlider.SliderSize = new Size(12, 18);
模式 3:垂直布局

为特定布局创建垂直范围滑块:

rangeSlider.Orientation = Orientation.Vertical;
rangeSlider.Height = 300;  // Sufficient height for vertical orientation
rangeSlider.Width = 50;    // Narrower for vertical
模式 4:事件驱动更新

通过事件处理用户交互:

rangeSlider.Scroll += (s, e) =>
{
    // Called while user is dragging
    UpdatePreview();
};

rangeSlider.ValueChanged += (s, e) =>
{
    // Called after value change completes
    UpdateData();
};

关键属性参考

属性类型用途
Minimumint定义范围下限
Maximumint定义范围上限
SliderMinint左侧/顶部滑块的位置(当前最小值)
SliderMaxint右侧/底部滑块的位置(当前最大值)
Rangerange structure获取当前选中的范围
ChannelColorColor背景轨道颜色
RangeColorColor选中范围的突出显示颜色
ThumbColorColor滑块控件颜色
ChannelHeightint轨道高度(像素)
SliderSizeSize滑块控件的尺寸
ShowTicksbool显示刻度线
TickFrequencyint刻度间隔
OrientationOrientation水平或垂直布局
ShowLabelsbool显示数值标签
RightToLeftRightToLeft支持 RTL 布局

设计模式

响应式范围选择

创建可根据用户需求调整的控件:

public void ConfigureRangeSlider(int dataMin, int dataMax, int defaultMin, int defaultMax)
{
    rangeSlider.Minimum = dataMin;
    rangeSlider.Maximum = dataMax;
    rangeSlider.SliderMin = defaultMin;
    rangeSlider.SliderMax = defaultMax;
    
    // Calculate appropriate tick frequency
    int range = dataMax - dataMin;
    rangeSlider.TickFrequency = range > 1000 ? 100 : range > 100 ? 10 : 1;
}
验证模式

确保范围选择有效:

rangeSlider.ValueChanged += (s, e) =>
{
    if (rangeSlider.SliderMin > rangeSlider.SliderMax)
    {
        // Swap if needed
        int temp = rangeSlider.SliderMin;
        rangeSlider.SliderMin = rangeSlider.SliderMax;
        rangeSlider.SliderMax = temp;
    }
};

常见用例

价格范围筛选

让用户通过选择价格范围来筛选产品,常用于电子商务应用。

日期范围选择

将滑块值映射到日期范围,创建日期范围选择器,以筛选历史数据。

参数校准

支持在科学或工业应用中配置最小和最大参数。

音量控制

在音频应用中使用范围滑块设置音量范围或频段。

数据分析

通过选择数值范围来筛选大型数据集,以便进行可视化和分析。

最佳实践

  1. 设置明确的边界 - 添加到表单之前,务必定义最小值和最大值
  2. 提供视觉反馈 - 使用颜色清晰地显示选定范围
  3. 显示刻度和标签 - 帮助用户了解刻度和当前值
  4. 处理两种事件 - 使用 Scroll 进行预览,使用 ValueChanged 进行最终更新
  5. 响应式设计 - 根据范围大小调整 TickFrequency
  6. 考虑方向 - 紧凑布局选择水平排列,专用 UI 选择垂直排列

后续步骤: 根据具体实现需求,阅读上述导航指南中的相应参考指南。

评论

支持 Markdown