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
// 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.
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.
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.
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;
}