Siticone VRangeSlider
The SiticoneVRangeSlider is a robust, vertically oriented dual-thumb slider designed for selecting a value range (minimum and maximum).
It features smooth animations for value changes, extensive theming capabilities via a Smart Tag designer, and built-in performance optimizations.
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 lowest possible value in the range. |
Maximum |
int | slider.Maximum = 100; The highest possible value in the range. |
LowerValue |
int | slider.LowerValue = 25; The current value of the lower (bottom) thumb. |
UpperValue |
int | slider.UpperValue = 75; The current value of the upper (top) thumb. |
Step |
int | slider.Step = 5; The increment value when using arrow keys or mouse wheel. |
ValuesDifference |
float | float diff = slider.ValuesDifference; Read-only. Returns the difference between UpperValue and LowerValue. |
Appearance & Styling
Customize the look of the track, thumbs, ticks, and labels.
| Property | Type | Description & Usage Example |
|---|---|---|
ThumbFillColor |
Color | slider.ThumbFillColor = Color.White; Background color of the thumbs. |
ThumbBorderColor |
Color | slider.ThumbBorderColor = Color.Blue; Border color of the thumbs. |
ThumbRadius |
int | slider.ThumbRadius = 10; Size of the thumb handle. |
TrackColor |
Color | slider.TrackColor = Color.LightGray; Color of the unselected track background. |
SelectedRangeColor |
Color | slider.SelectedRangeColor = Color.DodgerBlue; Color of the active range between the two thumbs. |
TrackWidth |
int | slider.TrackWidth = 4; Thickness of the track line. |
ShowValueLabels |
bool | slider.ShowValueLabels = true; Displays the current values next to each thumb. |
ShowTickMarks |
bool | slider.ShowTickMarks = true; Shows tick marks along the track. |
TickFrequency |
int | slider.TickFrequency = 10; Interval between tick marks. |
Interaction & Behavior
Configure input methods and feedback mechanisms.
| Property | Type | Description & Usage Example |
|---|---|---|
ShowTooltips |
bool | slider.ShowTooltips = true; Shows a floating tooltip with the value when hovering over a thumb. |
SnapToTick |
bool | slider.SnapToTick = true; Forces the thumbs to snap to the nearest tick mark. |
ContextMenuFont |
Font | slider.ContextMenuFont = new Font("Segoe UI", 9f); Font used in the right-click context menu (Set Value, Increment, etc.). |
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 color schemes like "Default", "Blue", "Green", "Orange", or "Red" via the designer menu. |
Quick Actions |
Shortcuts to set common ranges (0-100, Bipolar -100 to 100), reset defaults, and toggle read-only mode. |
Animation Tests |
Run test animations (Animate to Min/Max, Quarters, etc.) directly in the designer to preview behavior. |
Detailed Usage Examples
Example 1: Temperature Control
A vertical slider for setting a temperature range (e.g., thermostat control).
private void SetupThermostat()
{
var tempSlider = new SiticoneVRangeSlider();
tempSlider.Minimum = 10; // 10°C
tempSlider.Maximum = 40; // 40°C
tempSlider.LowerValue = 18;
tempSlider.UpperValue = 24;
tempSlider.Step = 1;
// Styling
tempSlider.SelectedRangeColor = Color.OrangeRed;
tempSlider.ThumbStyles = ThumbStyle.Circle;
tempSlider.ShowValueLabels = true;
tempSlider.ShowThumbTooltips = true;
// Event Handling
tempSlider.LowerValueChanged += (s, e) =>
{
lblMinTemp.Text = $"Min: {e.Value}°C";
AdjustHVAC(e.Value, tempSlider.UpperValue);
};
tempSlider.UpperValueChanged += (s, e) =>
{
lblMaxTemp.Text = $"Max: {e.Value}°C";
AdjustHVAC(tempSlider.LowerValue, e.Value);
};
this.Controls.Add(tempSlider);
}
Example 2: Vertical Equalizer Band
Using the slider to set frequency cutoffs for an equalizer.
private void InitializeEqualizer()
{
var eqSlider = new SiticoneVRangeSlider();
eqSlider.Minimum = -12; // dB
eqSlider.Maximum = 12;
eqSlider.LowerValue = -3;
eqSlider.UpperValue = 3;
// Ticks every 3dB
eqSlider.ShowTickMarks = true;
eqSlider.TickFrequency = 3;
// Visuals
eqSlider.TrackColor = Color.Black;
eqSlider.SelectedRangeColor = Color.LimeGreen;
eqSlider.ThumbFillColor = Color.Silver;
eqSlider.ThumbBorderColor = Color.Gray;
this.Controls.Add(eqSlider);
}
Example 3: Data Filtering (Vertical)
A slider used alongside a chart to filter data points by Y-axis value.
private void SetupDataFilter()
{
var filterSlider = new SiticoneVRangeSlider();
filterSlider.Height = 300; // Tall slider
filterSlider.Minimum = 0;
filterSlider.Maximum = 1000;
filterSlider.SnapToTick = true;
filterSlider.TickFrequency = 100;
filterSlider.LowerValue = 200;
filterSlider.UpperValue = 800;
filterSlider.ThumbStyles = ThumbStyle.Square;
filterSlider.SelectedRangeColor = Color.SlateBlue;
this.Controls.Add(filterSlider);
}