Siticone HRangeSlider2
The SiticoneHRangeSlider2 is a sleek, horizontal dual-thumb slider control designed for selecting a value range (minimum and maximum).
It features smooth value interpolation animations, highly customizable thumb styles, and comprehensive input support via mouse and keyboard.
Range & Values
Configure the numeric bounds and current positions of the two slider thumbs.
| Property | Type | Description & Usage Example |
|---|---|---|
Minimum |
int | slider.Minimum = 0; The start value of the slider range. |
Maximum |
int | slider.Maximum = 100; The end value of the slider range. |
Value |
int | slider.Value = 25; The position of the left (lower) thumb. |
Value2 |
int | slider.Value2 = 75; The position of the right (upper) thumb. |
SmallChange |
int | slider.SmallChange = 1; Value increment when using Arrow keys. |
LargeChange |
int | slider.LargeChange = 10; Value increment when using PageUp/PageDown keys. |
Appearance & Styling
Customize the colors and dimensions of the track, fill, and thumbs.
| Property | Type | Description & Usage Example |
|---|---|---|
TrackColor |
Color | slider.TrackColor = Color.LightGray; The background color of the inactive track area. |
FillColor |
Color | slider.FillColor = Color.DodgerBlue; The color of the active range between the two thumbs. |
ThumbColor |
Color | slider.ThumbColor = Color.White; The default color of the thumb handles. |
ThumbHoverColor |
Color | slider.ThumbHoverColor = Color.Cyan; The color of a thumb when hovered by the mouse. |
ThumbWidth |
int | slider.ThumbWidth = 15; Width of the thumb in pixels. |
ThumbHeight |
int | slider.ThumbHeight = 24; Height of the thumb in pixels. |
TrackHeight |
int | slider.TrackHeight = 4; Thickness of the slider track line. |
Interaction & Behavior
Configure input methods and feedback mechanisms.
| Property | Type | Description & Usage Example |
|---|---|---|
IsReadOnly |
bool | slider.IsReadOnly = true; If true, prevents user changes. Visuals switch to ReadOnly colors. |
MouseWheelEnabled |
bool | slider.MouseWheelEnabled = true; Allows changing values by scrolling the mouse wheel over a thumb. |
KeyboardEnabled |
bool | slider.KeyboardEnabled = true; Allows changing values using Arrow and Page keys. |
CanShake |
bool | slider.CanShake = true; If true, the control shakes when an invalid interaction occurs in ReadOnly mode. |
UltraFastMode |
bool | slider.UltraFastMode = true; Disables animations for maximum performance. |
Designer & Smart Tags
The control includes a rich Smart Tag panel for rapid configuration directly in the Visual Studio designer.
| Feature | Description |
|---|---|
Theme Presets |
Instantly apply professional color schemes like "Midnight Plum", "Ocean Blue", "Forest Green", and more via the designer menu. |
Quick Actions |
One-click shortcuts to swap values, center thumbs, or reset range presets (0-100, -100 to 100). |
Copy/Paste Settings |
Easily duplicate the visual configuration from one slider to another using the clipboard actions. |
Detailed Usage Examples
Example 1: Product Price Filter
A classic e-commerce price range filter ($10 to $500).
private void SetupPriceFilter()
{
var priceSlider = new SiticoneHRangeSlider2();
// Configure Range
priceSlider.Minimum = 0;
priceSlider.Maximum = 1000;
priceSlider.Value = 100; // Min Price
priceSlider.Value2 = 500; // Max Price
// Styling
priceSlider.FillColor = Color.SeaGreen;
priceSlider.ThumbColor = Color.White;
priceSlider.ThumbBorderColor = Color.SeaGreen;
// Event Handling
priceSlider.RangeValueChanged += (s, e) =>
{
lblPriceRange.Text = $"${e.NewValue} - ${e.NewValue2}";
FilterProducts(e.NewValue, e.NewValue2);
};
this.Controls.Add(priceSlider);
}
Example 2: Audio Equalizer Band
Using the slider to set frequency cutoff ranges for an audio equalizer.
private void InitializeEqualizerControl()
{
var eqSlider = new SiticoneHRangeSlider2();
eqSlider.Minimum = 20; // 20 Hz
eqSlider.Maximum = 20000; // 20 kHz
// Set active frequency band
eqSlider.Value = 1000;
eqSlider.Value2 = 5000;
// Modern Neon Look
eqSlider.TrackColor = Color.FromArgb(30, 30, 30);
eqSlider.FillColor = Color.Cyan;
eqSlider.ThumbColor = Color.Black;
eqSlider.ThumbBorderColor = Color.Cyan;
// Enable animations
eqSlider.ThumbAnimation = ThumbAnimation.Blink;
this.Controls.Add(eqSlider);
}
Example 3: Read-Only Progress Range
Using the slider as a visual indicator for a process range (e.g., "Processing items 50-80") without allowing user edits.
private void UpdateProcessStatus(int start, int end)
{
statusSlider.IsReadOnly = true;
statusSlider.CanShake = true; // Shake if user tries to click
// Programmatically update values
statusSlider.Value = start;
statusSlider.Value2 = end;
// Dynamic coloring based on completion
if (end >= 100) statusSlider.ReadOnlyFillColor = Color.Green;
else statusSlider.ReadOnlyFillColor = Color.Orange;
}