Siticone VRangeSlider2
The SiticoneVRangeSlider2 is an enhanced vertical dual-thumb slider designed for precise range selection.
It features advanced visual customization including value labels, tick marks, smooth animations, and extensive theming support via a Smart Tag designer.
Range & Values
Configure the numeric bounds and initial 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. |
Value |
int | slider.Value = 25; The position of the first (default: lower) thumb. |
Value2 |
int | slider.Value2 = 75; The position of the second (default: upper) thumb. |
ValuesDifference |
float | var diff = slider.ValuesDifference; Read-only. The absolute difference between Value and Value2. |
Appearance & Styling
Customize the visual elements including colors, dimensions, and animations.
| Property | Type | Description & Usage Example |
|---|---|---|
ThumbColor |
Color | slider.ThumbColor = Color.White; The main color of the slider handles. |
FillColor |
Color | slider.FillColor = Color.DodgerBlue; The color of the active range bar between the thumbs. |
TrackColor |
Color | slider.TrackColor = Color.LightGray; The background color of the unselected track area. |
ThumbAnimation |
ThumbAnimationEx |
slider.ThumbAnimation = ThumbAnimationEx.Blink;
Visual effect for active thumbs: Normal, Blink, or ColorTransition.
|
ThumbWidth |
int | slider.ThumbWidth = 24; The width of the thumb handles in pixels. |
ThumbHeight |
int | slider.ThumbHeight = 9; The height of the thumb handles in pixels. |
Ticks & Labels
Enable additional visual guides for precise value selection.
| Property | Type | Description & Usage Example |
|---|---|---|
ShowTicks |
bool | slider.ShowTicks = true; Displays tick marks along the slider track. |
TickFrequency |
int | slider.TickFrequency = 10; The interval between tick marks. |
ShowValueLabels |
bool | slider.ShowValueLabels = true; Displays the current numeric value next to each thumb. |
ValueLabelFormat |
string | slider.ValueLabelFormat = "{0}%"; Format string for the value labels (e.g., adding units). |
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 "Midnight Plum", "Ocean Blue", "Forest Green", and "Sunset Orange" via the designer menu. |
Quick Actions |
One-click shortcuts to swap thumb values, center the range, or reset to standard ranges (0-100, Bipolar). |
Settings Clipboard |
Copy/Paste Settings: Quickly duplicate the visual configuration of one slider to another. |
Detailed Usage Examples
Example 1: Temperature Controller
Using the slider to set a target temperature range (e.g., HVAC control).
private void SetupThermostat()
{
var slider = new SiticoneVRangeSlider2();
slider.Minimum = 10;
slider.Maximum = 40;
slider.Value = 18;
slider.Value2 = 24;
// Visuals
slider.FillColor = Color.OrangeRed;
slider.TrackColor = Color.LightGray;
slider.ValueLabelFormat = "{0}°C";
slider.ShowValueLabels = true;
// Event Handling
slider.RangeValueChanged += (s, e) =>
{
Console.WriteLine($"Range: {e.NewValue}°C to {e.NewValue2}°C");
};
this.Controls.Add(slider);
}
Example 2: Audio Equalizer Band
A vertical slider representing a frequency band gain control (-12dB to +12dB).
private void InitializeEqualizer()
{
var eqSlider = new SiticoneVRangeSlider2();
eqSlider.Minimum = -12;
eqSlider.Maximum = 12;
eqSlider.Value = -3;
eqSlider.Value2 = 3;
// Ticks every 3dB
eqSlider.ShowTicks = true;
eqSlider.TickFrequency = 3;
// Styling
eqSlider.ThumbColor = Color.White;
eqSlider.FillColor = Color.LimeGreen;
eqSlider.TrackColor = Color.FromArgb(40, 40, 40);
eqSlider.ThumbAnimation = ThumbAnimationEx.Blink;
this.Controls.Add(eqSlider);
}
Example 3: Read-Only Status Gauge
Using the slider as a visual indicator for system metrics (e.g., CPU Load Range) without allowing user edits.
private void UpdateCpuUsage(int minLoad, int maxLoad)
{
cpuSlider.IsReadOnly = true;
cpuSlider.CanShake = true; // Feedback if user tries to click
// Programmatic update works even in ReadOnly mode
cpuSlider.Value = minLoad;
cpuSlider.Value2 = maxLoad;
// Dynamic coloring based on load
if (maxLoad > 90)
cpuSlider.ReadOnlyFillColor = Color.Red;
else
cpuSlider.ReadOnlyFillColor = Color.DodgerBlue;
}