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
// Sets the value, optionally forcing/skipping animation.
gauge.SetValue(75.0, true);
// 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);
// Removes all custom ranges.
gauge.ClearRanges();
Events
// 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.
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.
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.
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;
}