Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Super Radial Gauge

Siticone Super Radial Gauge

The SiticoneSuperRadialGauge is a high-precision, highly customizable circular gauge designed for industrial, automotive, and dashboard applications. It supports advanced features such as colored zones (e.g., "Warning", "Danger"), custom scale ticks, multiple needle styles, physics-based needle damping, and a variety of visual themes ranging from Minimal to Industrial.

Values & Range

Properties defining the gauge's measurement scale and current reading.

Property Type Description & Usage Example
Value double gauge.Value = 65.5; The current reading of the gauge. Setting this triggers the needle animation towards the new position.
MinimumValue double gauge.MinimumValue = 0; The starting value of the scale.
MaximumValue double gauge.MaximumValue = 240; The ending value of the scale.

Appearance & Design

Controls for the overall look, feel, and geometry of the gauge.

Property Type Description & Usage Example
DesignStyle RadialGaugeDesignStyle gauge.DesignStyle = RadialGaugeDesignStyle.Industrial; Sets the overall theme. Options: Classic, Modern, Minimal, Industrial.
StartAngle float gauge.StartAngle = 135f; The angle (in degrees) where the scale begins. 135° is typical for bottom-left start.
SweepAngle float gauge.SweepAngle = 270f; The total arc length of the scale in degrees. 270° creates a 3/4 circle.
EnableGlassEffect bool gauge.EnableGlassEffect = true; Adds a reflective gloss overlay to simulate a glass cover.
EnableRim bool gauge.EnableRim = true; Draws a metallic or colored bezel around the gauge.
GaugeBackColor Color gauge.GaugeBackColor = Color.WhiteSmoke;
ScaleColor Color gauge.ScaleColor = Color.DarkGray;

Needle Configuration

Options to customize the indicator pointer's shape and behavior.

Property Type Description & Usage Example
NeedleStyle GaugeNeedleStyle gauge.NeedleStyle = GaugeNeedleStyle.Arrow; Shape of the pointer. Options: Arrow, Line, Triangular, Diamond, Rounded.
NeedleColor Color gauge.NeedleColor = Color.Red; The primary fill color of the needle.
NeedleLength float gauge.NeedleLength = 0.8f; Length of the needle relative to the scale radius (0.0 to 1.0).
EnableNeedleShadow bool gauge.EnableNeedleShadow = true; Draws a soft shadow behind the needle for depth.

Scale & Ticks

Fine-tune the ruler marks and divisions on the gauge face.

Property Type Description & Usage Example
MajorTickCount int gauge.MajorTickCount = 11; Total number of primary division marks (including start and end).
MinorTickCount int gauge.MinorTickCount = 4; Number of smaller ticks between each major tick.
MajorTickStyle GaugeTickStyle gauge.MajorTickStyle = GaugeTickStyle.Line; Shape of the major ticks. Options: Line, Dot, Rectangle, Triangle.
ScaleRadius float gauge.ScaleRadius = 0.85f; Size of the scale relative to the control size (0.0 to 1.0).

Text & Labels

Configuration for the gauge title, current value display, and scale numbers.

Property Type Description & Usage Example
TitleText string gauge.TitleText = "RPM"; Main label displayed on the gauge face.
ShowValue bool gauge.ShowValue = true; Whether to display the numeric value in the center.
ValueSuffix string gauge.ValueSuffix = " mph"; Text appended to the numeric value.
ShowLabels bool gauge.ShowLabels = true; Toggles the numeric labels around the scale.

Zones & Ranges

The Zones collection allows you to highlight specific ranges on the scale, such as a "Redline" on a tachometer.

C# - Adding Zones Programmatically
// Define specific colored ranges on the gauge
private void SetupGaugeZones()
{
    superGauge1.ClearZones();
    
                // Safe Zone (Green)
    superGauge1.AddZone("Safe", 0, 60, Color.LightGreen);
    
                // Warning Zone (Yellow)
    superGauge1.AddZone("Warning", 60, 85, Color.Orange);
    
                // Critical Zone (Red)
    superGauge1.AddZone("Danger", 85, 100, Color.Red);
    
                // Enable rendering
    superGauge1.EnableZones = true;
}

Public Methods

SetValueWithAnimation(double, RadialGaugeAnimationMode)
// Sets the value using a specific animation type, overriding the default property.
superGauge1.SetValueWithAnimation(80, RadialGaugeAnimationMode.Bounce);
AddCustomTick(double, string, bool)
// Adds a specific tick mark at a value, useful for "Target" or "Limit" markers.
// Parameters: Value, Label, IsMajorTick
superGauge1.AddCustomTick(55, "Limit", true);
superGauge1.EnableCustomTicks = true;

Events

Events Wiring
// 1. ValueChanged Event
// Fires whenever the value property updates.
superGauge1.ValueChanged += (s, e) => 
{
                Console.WriteLine($"Value: {e.NewValue}, Animated: {e.CurrentAnimatedValue}");
};

// 2. ZoneChanged Event
// Fires when the needle enters or exits a defined zone.
superGauge1.ZoneChanged += (s, e) => 
{
                if (e.IsEntering)
                Console.WriteLine($"Entered zone: {e.Zone.Name}");
};

// 3. MaximumReached Event
// Fires when the gauge hits the Max value.
superGauge1.MaximumReached += (s, e) => 
{
                MessageBox.Show("Redline reached!");
};

Designer & Smart Tags

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

Feature Description
Gauge Presets One-click setup for common use cases:
  • Speedometer: Standard 270° layout with zones.
  • Temperature: Semicircle layout with cold/hot zones.
  • Compass: 360° layout with N/E/S/W labels.
  • Fuel Gauge: 90° corner layout.
  • Minimal: Clean, no-frills display.
Quick Actions Set 50% / Max / Min: Quickly move the needle for testing.
Scale Configuration: Presets for Linear, Semicircle, or Full Circle layouts.

Detailed Usage Examples

Example 1: Automotive Tachometer

Creates a sport-style RPM gauge with a specific redline zone and bounce animation.

C# - RPM Gauge
private void SetupTachometer()
{
    gauge.DesignStyle = RadialGaugeDesignStyle.Modern;
    gauge.TitleText = "x1000 RPM";
    gauge.MaximumValue = 8;
    gauge.ValueFormat = "0";
    
                // Scale Config
    gauge.StartAngle = 135;
    gauge.SweepAngle = 270;
    gauge.MajorTickCount = 9; // 0 to 8
    
                // Redline Zone
    gauge.ClearZones();
    gauge.AddZone("Redline", 6.5, 8, Color.Red);
    gauge.EnableZones = true;
    
                // Physics
    gauge.AnimationMode = RadialGaugeAnimationMode.Bounce;
    gauge.AnimationSpeed = 0.15;
}

Example 2: Server Load Monitor

A minimal style gauge for dashboard monitoring, using color to indicate load severity.

C# - Load Monitor
private void SetupLoadGauge()
{
    gauge.DesignStyle = RadialGaugeDesignStyle.Minimal;
    gauge.TitleText = "CPU Load";
    gauge.ValueSuffix = "%";
    
                // Simplified visual
    gauge.ShowLabels = false;
    gauge.EnableRim = false;
    gauge.NeedleStyle = GaugeNeedleStyle.Line;
    
                // Dynamic Color Change
    gauge.ValueChanged += (s, e) => 
    {
                if (e.NewValue > 90) gauge.NeedleColor = Color.Red;
                else if (e.NewValue > 70) gauge.NeedleColor = Color.Orange;
                else gauge.NeedleColor = Color.DodgerBlue;
    };
}