Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Aero Gauge

Siticone Aero Gauge

The SiticoneAeroGauge is a modern, high-performance radial gauge control designed for dashboard interfaces. It features hardware-accelerated rendering, built-in color themes, animated value transitions, and customizable visual elements (needles, arcs, ticks).

Values & Scale

Properties defining the measurement range and current reading.

Property Type Description & Usage Example
Value float aeroGauge.Value = 75.5f; The current reading of the gauge. Setting this automatically triggers a smooth animation to the new value (if enabled).
Minimum float aeroGauge.Minimum = 0; The scale's starting value.
Maximum float aeroGauge.Maximum = 240; The scale's ending value.
StartAngle int aeroGauge.StartAngle = 135; The starting angle of the arc in degrees (135° is typical for bottom-left).
SweepAngle int aeroGauge.SweepAngle = 270; The total span of the gauge arc (270° makes a 3/4 circle).

Themes & Appearance

The control includes built-in themes for rapid styling, or you can customize colors individually.

Property Type Description & Usage Example
Theme AeroGaugeTheme aeroGauge.Theme = AeroGaugeTheme.Cyberpunk; Applies a predefined color palette. Options include: Default, Oceanic, Sunset, Emerald, Graphite, Cyberpunk, Arctic, Monochrome, etc.
GaugeBackColor Color aeroGauge.GaugeBackColor = Color.Black; Background color of the gauge face.
TrackColor Color aeroGauge.TrackColor = Color.DarkGray; Color of the unfilled track background.
ProgressStartColor Color aeroGauge.ProgressStartColor = Color.Cyan; Beginning color of the filled progress gradient.
ProgressEndColor Color aeroGauge.ProgressEndColor = Color.Blue; Ending color of the filled progress gradient.

Visual Elements

Toggle and customize parts of the gauge like the needle, ticks, and labels.

Property Type Description & Usage Example
ShowNeedle bool aeroGauge.ShowNeedle = true; Toggles the visibility of the indicator needle.
NeedleStyle AeroNeedleStyle aeroGauge.NeedleStyle = AeroNeedleStyle.Tapered; Shape of the needle: Simple, Tapered, or ArrowHead.
ShowProgressArc bool aeroGauge.ShowProgressArc = true; Shows or hides the colored progress bar.
ShowTicks bool aeroGauge.ShowTicks = true; Displays the scale division marks.
ShowLabels bool aeroGauge.ShowLabels = true; Displays the numeric values around the scale.

Text & Fonts

Settings for the central value readout.

Property Type Description & Usage Example
ValueUnit string aeroGauge.ValueUnit = "RPM"; Text label displayed below the numeric value.
ValueFont Font aeroGauge.ValueFont = new Font("Segoe UI", 24, FontStyle.Bold); Font for the main numeric display.
UnitFont Font aeroGauge.UnitFont = new Font("Segoe UI", 12); Font for the unit label.
TextColor Color aeroGauge.TextColor = Color.White; Color used for all text elements.

Animation & Performance

Control motion effects and rendering optimization.

Property Type Description & Usage Example
EnableAnimation bool aeroGauge.EnableAnimation = true; If true, changes to Value are animated smoothly.
AnimationSpeed int aeroGauge.AnimationSpeed = 40; Controls the speed of the needle movement (1-100).
UltraPerformance bool aeroGauge.UltraPerformance = true; Disables gradients, anti-aliasing, and animations for maximum rendering speed. Use this for high-frequency updates (e.g., real-time audio visualization).

Events

Events Wiring
// 1. ValueChanged Event
// Fires whenever the Value property changes.
aeroGauge.ValueChanged += (s, e) => 
{
                Console.WriteLine($"Value changed: {e.OldValue} -> {e.NewValue}");
};

// 2. AnimationCompleted Event
// Fires when the needle or arc finishes its movement to the target value.
aeroGauge.AnimationCompleted += (s, e) => 
{
                Console.WriteLine("Needle has settled.");
};

Detailed Usage Examples

Example 1: Automotive Speedometer

Sets up the gauge to look like a car speedometer with a needle and custom scale.

C# - Speedometer Config
private void SetupSpeedometer()
{
    speedGauge.Theme = AeroGaugeTheme.Graphite;
    speedGauge.Maximum = 240;
    speedGauge.ValueUnit = "KM/H";
    
                // Needle Configuration
    speedGauge.ShowNeedle = true;
    speedGauge.NeedleStyle = AeroNeedleStyle.Tapered;
    speedGauge.NeedleColor = Color.Red;
    
                // Scale Configuration
    speedGauge.StartAngle = 135;
    speedGauge.SweepAngle = 270;
    
                // Animation
    speedGauge.EnableAnimation = true;
    speedGauge.AnimationSpeed = 60;
}

Example 2: CPU Performance Monitor

A futuristic, high-contrast gauge for monitoring system resources.

C# - CPU Monitor
private void SetupCpuMonitor()
{
    cpuGauge.Theme = AeroGaugeTheme.Cyberpunk;
    cpuGauge.ValueUnit = "CPU %";
    cpuGauge.Maximum = 100;
    
                // Minimalist Look
    cpuGauge.ShowNeedle = false;
    cpuGauge.ShowTicks = false;
    cpuGauge.ShowLabels = false;
    
                // Colors
    cpuGauge.ProgressStartColor = Color.Cyan;
    cpuGauge.ProgressEndColor = Color.Magenta;
}

private void UpdateCpu(float usage)
{
    cpuGauge.Value = usage;
    
                // Dynamic color change based on load
                if (usage > 90) 
        cpuGauge.ProgressEndColor = Color.Red;
                else 
        cpuGauge.ProgressEndColor = Color.Magenta;
}

Example 3: Retro Pressure Gauge

Uses the "GoldenAge" theme to simulate an old-school analog meter.

C# - Retro Style
private void SetupRetroGauge()
{
    retroGauge.Theme = AeroGaugeTheme.GoldenAge;
    retroGauge.ValueUnit = "PSI";
    
                // Classic Needle
    retroGauge.ShowNeedle = true;
    retroGauge.NeedleStyle = AeroNeedleStyle.ArrowHead;
    
                // Hide modern progress arc for analog feel
    retroGauge.ShowProgressArc = false; 
    
                // Slower, damped animation
    retroGauge.AnimationSpeed = 20;
}