Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Circular Gauge

Siticone Circular Gauge

The SiticoneCircularGauge is a highly customizable, all-purpose radial instrument. It supports a wide variety of visual styles ranging from classic analog dials to modern digital readouts. Key features include colored ranges (zones), customizable needles, LED indicators, and physics-based rendering effects like glass and 3D shadows.

Values & Scale

Properties determining the gauge's measurement data and display formatting.

Property Type Description & Usage Example
Value double gauge.Value = 45.5; The current reading. Triggers animation when set (if enabled).
MinimumValue double gauge.MinimumValue = 0; The starting value of the scale.
MaximumValue double gauge.MaximumValue = 100; The ending value of the scale.
ValueFormat string gauge.ValueFormat = "0.0"; Format string for the numeric display (e.g., "F2" for 2 decimals).

Appearance & Style

Visual configuration for the dial, geometry, and overall theme.

Property Type Description & Usage Example
Style GaugeStyle gauge.Style = GaugeStyle.Modern; Visual preset. Options: Classic, Modern, Industrial, Digital, Minimal, Racing.
StartAngle float gauge.StartAngle = 135f; Starting angle of the scale (degrees).
SweepAngle float gauge.SweepAngle = 270f; Total arc length of the scale (degrees).
GaugeRadius float gauge.GaugeRadius = 0.9f; Size of the gauge face relative to the control bounds (0.1 to 1.0).
DialColor Color gauge.DialColor = Color.White; Background color of the dial face.

Needle & Cap

Options for the indicator pointer and center hub.

Property Type Description & Usage Example
NeedleStyle CirclarGaugeNeedleStyle gauge.NeedleStyle = CirclarGaugeNeedleStyle.Arrow; Shape of the pointer. Options: Arrow, Line, Triangle, Diamond, Rounded.
NeedleColor Color gauge.NeedleColor = Color.Red;
NeedleWidth float gauge.NeedleWidth = 3;
ShowCenterCap bool gauge.ShowCenterCap = true; Displays the pivot cap in the center.

Ranges & Zones

Define colored sectors on the scale to indicate safe, warning, or danger levels.

Property Type Description & Usage Example
ShowRanges bool gauge.ShowRanges = true; Toggles visibility of colored zones.
Ranges List<GaugeRange> gauge.Ranges.Add(...); Collection of range objects defined by StartValue, EndValue, and Color.

LED Indicators

Add a ring of LED-style lights around the scale for a digital or retro-dashboard look.

Property Type Description & Usage Example
ShowLEDs bool gauge.ShowLEDs = true; Displays LED indicators along the scale.
LEDCount int gauge.LEDCount = 10; Number of LEDs to display.
LEDStyle CircularGaugeLEDStyle gauge.LEDStyle = CircularGaugeLEDStyle.Circle; Shape of LEDs: Circle, Rectangle, Diamond.

Effects & Animation

Enhance realism with glass reflections, shadows, and smooth motion.

Property Type Description & Usage Example
ShowGlass bool gauge.ShowGlass = true; Adds a glossy reflection overlay.
ShowShadow bool gauge.ShowShadow = true; Adds a drop shadow for depth.
EnableAnimation bool gauge.EnableAnimation = true; Enables smooth needle transitions.
UltraFastPerformance bool gauge.UltraFastPerformance = true; Disables heavy visual effects (gradients, glass) for maximum FPS.

Public Methods

SetValue(double, bool)
// Sets the value, optionally forcing/skipping animation.
gauge.SetValue(75.0, true);
AddRange(double, double, Color)
// Adds a colored zone to the gauge scale.
gauge.AddRange(0, 60, Color.Green);
gauge.AddRange(60, 80, Color.Orange);
gauge.AddRange(80, 100, Color.Red);
ClearRanges()
// Removes all custom ranges.
gauge.ClearRanges();

Events

Events Wiring
// 1. ValueChanged Event
gauge.ValueChanged += (s, e) => 
{
                Console.WriteLine($"Gauge changed: {e.OldValue} -> {e.NewValue}");
};

// 2. WarningEntered Event
gauge.WarningEntered += (s, e) => 
{
    lblStatus.Text = "Warning Level!";
};

// 3. CriticalEntered Event
gauge.CriticalEntered += (s, e) => 
{
    lblStatus.Text = "CRITICAL!";
};

Designer & Smart Tags

Access visual configuration tools directly in Visual Studio.

Feature Description
Quick Styles Instantly apply themes: Classic, Modern, Industrial, Digital, Racing.
Setup Set Minimum/Maximum/Middle: Quickly test needle positions.
Reset Ranges: Restores default Green/Yellow/Red zones.

Detailed Usage Examples

Example 1: Automotive Tachometer

A classic racing-style RPM gauge with a yellow warning zone and redline.

C# - RPM Gauge
private void SetupTachometer()
{
    rpmGauge.Style = GaugeStyle.Racing;
    rpmGauge.Title = "RPM";
    rpmGauge.Unit = "x1000";
    rpmGauge.MaximumValue = 8;
    
                // Configure Redline
    rpmGauge.ClearRanges();
    rpmGauge.AddRange(0, 6, Color.White);
    rpmGauge.AddRange(6, 7, Color.Yellow);
    rpmGauge.AddRange(7, 8, Color.Red);
    
                // Needle Animation
    rpmGauge.EnableAnimation = true;
    rpmGauge.AnimationSpeed = 40;
}

Example 2: Industrial Pressure Gauge

A rugged, high-contrast gauge for monitoring pressure.

C# - Pressure Gauge
private void SetupPressureGauge()
{
    pressureGauge.Style = GaugeStyle.Industrial;
    pressureGauge.Title = "BOILER";
    pressureGauge.Unit = "PSI";
    pressureGauge.MaximumValue = 150;
    
                // Warning logic
    pressureGauge.EnableWarning = true;
    pressureGauge.WarningValue = 120;
    pressureGauge.EnableCritical = true;
    pressureGauge.CriticalValue = 140;
    
    pressureGauge.CriticalEntered += (s, e) => MessageBox.Show("Overpressure!");
}

Example 3: Digital VU Meter

Uses the Digital style with LEDs to simulate an audio volume unit meter.

C# - VU Meter
private void SetupVUMeter()
{
    vuMeter.Style = GaugeStyle.Digital;
    vuMeter.Title = "LEVEL";
    vuMeter.Unit = "dB";
    vuMeter.MinimumValue = -60;
    vuMeter.MaximumValue = 0;
    
                // Enable LEDs
    vuMeter.ShowLEDs = true;
    vuMeter.LEDCount = 12;
    vuMeter.LEDStyle = CircularGaugeLEDStyle.Rectangle;
    
                // Fast update for audio
    vuMeter.UltraFastPerformance = true; 
}