Loading...
Loading...
Complete guide for implementing Syncfusion RangeSlider control in Windows Forms for dual-thumb value selection. Use when creating range selection interfaces with SliderMin/SliderMax configuration, ChannelColor customization, or RangeColor styling. Covers range bound configuration, slider appearance customization, event handling, and building range selection UI components.
npx skill4agent add syncfusion/winforms-ui-components-skills syncfusion-winforms-range-sliderusing 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);
}
}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
};// 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);rangeSlider.Orientation = Orientation.Vertical;
rangeSlider.Height = 300; // Sufficient height for vertical orientation
rangeSlider.Width = 50; // Narrower for verticalrangeSlider.Scroll += (s, e) =>
{
// Called while user is dragging
UpdatePreview();
};
rangeSlider.ValueChanged += (s, e) =>
{
// Called after value change completes
UpdateData();
};| Property | Type | Purpose |
|---|---|---|
| int | Defines the lower bound of range |
| int | Defines the upper bound of range |
| int | Position of left/top thumb (current minimum) |
| int | Position of right/bottom thumb (current maximum) |
| range structure | Gets current selected range |
| Color | Background track color |
| Color | Highlighted selected range color |
| Color | Thumb control color |
| int | Height of track in pixels |
| Size | Dimensions of thumb controls |
| bool | Display tick marks |
| int | Interval between ticks |
| Orientation | Horizontal or Vertical layout |
| bool | Display value labels |
| RightToLeft | RTL layout support |
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;
}
};