Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Radial Progress Bar

Siticone Radial Progress Bar

The SiticoneRadialProgressBar is an advanced circular gauge designed for data visualization and user interaction. It combines sleek visuals like gradients, shadows, and range-based coloring with interactive features such as mouse dragging, wheel support, and keyboard adjustments. Perfect for dashboards, status indicators, and interactive volume/level controls.

Values & Range

Properties that define the numeric model of the gauge.

Property Type Description & Usage Example
Value double radial.Value = 75.5; The current position of the indicator. Setting this triggers a momentum-based animation to the new value unless UltraFastPerformance is enabled.
Minimum double radial.Minimum = 0; The lower bound of the scale.
Maximum double radial.Maximum = 100; The upper bound of the scale.

Visual Customization

Configure the look and feel of the circular track, progress arc, and fill.

Property Type Description & Usage Example
ProgressBaseColor Color radial.ProgressBaseColor = Color.FromArgb(40, 40, 40); The color of the outer ring/border.
BackColor Color radial.BackColor = Color.WhiteSmoke; The background fill color of the circle.
FillProgressArea bool radial.FillProgressArea = true; When true, fills the pie slice area corresponding to the progress. When false, only draws the progress arc/stroke.
ShowRadialBorder bool radial.ShowRadialBorder = true; Draws a border along the progress arc.
StartAngle int radial.StartAngle = -90; The starting angle in degrees (-90 is top).
EnableTextShadow bool radial.EnableTextShadow = true; Adds a drop shadow to the central value text for better readability.

Color Systems

The control supports three distinct coloring modes: Solid (Readonly), Cycling Gradient (Animated), and Range-Based (Dynamic).

Property Type Description & Usage Example
CurrentColorTheme ColorTheme radial.CurrentColorTheme = ColorTheme.Ocean; Quickly applies a preset color palette (Default, Ocean, Forest, Sunset).
EnableRangeBasedColoring bool radial.EnableRangeBasedColoring = true; Enables dynamic coloring based on the current value. E.g., Green (0-33%), Yellow (34-66%), Red (67-100%).
ProgressColorRanges List<Range> radial.ProgressColorRanges.Add(new ProgressColorRange { Minimum=0, Maximum=50, Color=Color.Blue }); The collection of ranges used when EnableRangeBasedColoring is true.
ColorAnimationCycle List<Color> radial.ColorAnimationCycle = new List<Color> { Color.Red, Color.Blue }; A list of colors that the progress bar smoothly cycles through over time.

User Interaction

Turn the progress bar into an interactive input control.

Property Type Description & Usage Example
MouseDragOrClickResponsive bool radial.MouseDragOrClickResponsive = true; Allows users to click or drag on the circle to set the value.
MouseWheelResponsive bool radial.MouseWheelResponsive = true; Enables changing the value by scrolling the mouse wheel over the control.
EnableKeyboardSupport bool radial.EnableKeyboardSupport = true; Allows changing the value using Up/Down arrow keys when the control is focused.
IsReadonly bool radial.IsReadonly = true; Locks the value. Interaction attempts trigger feedback (Shake/Beep) if enabled.

Effects & Animation

Add life to your UI with built-in visual effects.

Property Type Description & Usage Example
Indeterminate bool radial.Indeterminate = true; Shows a spinning loading animation instead of a specific value.
EnablePulsate bool radial.EnablePulsate = true; Creates a breathing/scaling effect for the entire control.
EnableBounce bool radial.EnableBounce = true; Triggers a bounce animation whenever the value changes.
EnableContinuousRotation bool radial.EnableContinuousRotation = true; Makes the entire progress arc rotate slowly while maintaining its length.

Designer & Smart Tags

The control includes a comprehensive Smart Tag menu for rapid configuration.

Feature Category Capabilities
Theme Presets Instantly apply professional styles:
  • Default: Standard clean look.
  • Ocean / Forest / Sunset: Nature-inspired color palettes.
  • Dark / Minimalist: Optimized for specific UI themes.
  • Neon: High-contrast glow style.
  • Traffic Light: Range-based coloring (Red/Yellow/Green).
  • Gradient: Smooth color transitions.
Quick Setup Setup for Task Progress: Configures for percentage display.
Setup for Loading: Enables indeterminate mode.
Setup for User Control: Enables mouse/keyboard interaction.
Settings Copy/Paste Settings: Easily transfer configurations between controls.

Detailed Usage Examples

Example 1: Interactive Volume Knob

Using the control as an input device for volume.

C# - Volume Knob
private void SetupVolumeControl()
{
    volumeRadial.Minimum = 0;
    volumeRadial.Maximum = 100;
    volumeRadial.Value = 50;
    
                // Enable interactions
    volumeRadial.MouseDragOrClickResponsive = true;
    volumeRadial.MouseWheelResponsive = true;
    volumeRadial.EnableKeyboardSupport = true;
    
                // Visuals
    volumeRadial.TextFormat = "{0}%";
    volumeRadial.FillProgressArea = true;
    volumeRadial.CurrentColorTheme = ColorTheme.Ocean;
}

private void volumeRadial_ValueChanged(object sender, ValueChangedEventArgs e)
{
                // Apply volume to system
    audioService.SetVolume(e.Value);
}

Example 2: Health Status with Ranges

Visualizing system health with automatic color changes.

C# - Health Monitor
private void SetupHealthMonitor()
{
    healthRadial.EnableRangeBasedColoring = true;
    healthRadial.ProgressColorRanges.Clear();
    
                // Define ranges
    healthRadial.ProgressColorRanges.Add(
                new ProgressColorRange { Minimum = 0, Maximum = 50, Color = Color.Red }
    );
    healthRadial.ProgressColorRanges.Add(
                new ProgressColorRange { Minimum = 51, Maximum = 80, Color = Color.Orange }
    );
    healthRadial.ProgressColorRanges.Add(
                new ProgressColorRange { Minimum = 81, Maximum = 100, Color = Color.Green }
    );
    
                // Effects
    healthRadial.EnablePulsate = true;
}

Example 3: Indeterminate Loading Task

Switching to loading mode during an async operation.

C# - Loading State
private async void StartProcess_Click(object sender, EventArgs e)
{
                // Switch to loading mode
    taskRadial.Indeterminate = true;
    taskRadial.TextFormat = "Loading...";
    
                await Task.Delay(3000); // Simulate work
    
                // Switch back to progress mode
    taskRadial.Indeterminate = false;
    taskRadial.TextFormat = "{0}%";
    taskRadial.Value = 100;
}