Siticone ZX Halo Gauge
The SiticoneZXHaloGauge is a sophisticated circular progress gauge that supports multi-stage color thresholds (Normal, Warning, Danger), smooth gradient transitions, and highly customizable tick marks.
It is ideal for monitoring critical system metrics like temperature, pressure, or CPU usage where clear visual feedback is required.
Visual Appearance
Control the geometry, coloring, and visual style of the gauge arc.
| Property | Type | Description |
|---|---|---|
ArcStartAngle | int | Starting angle in degrees (default 150). |
ArcSweepAngle | int | Length of the arc in degrees (default 240). |
ArcThickness | int | Thickness of the progress bar in pixels. |
InnerRadius | float | Size of the inner empty space (0.1 - 0.95). |
GaugeBackColor | Color | Background color of the empty track. |
UseGradientEffect | bool | Enables a gradient fill for the progress arc. |
UseSmoothColorTransition | bool | Blends colors between thresholds instead of hard switching. |
ShowValueLabel | bool | Shows the current value text in the center. |
ValueFont | Font | Font used for the center value text. |
UnitText | string | Suffix text displayed after the value (e.g. "°"). |
Thresholds & Colors
Define dynamic color changes based on value ranges.
| Property | Type | Description |
|---|---|---|
Value | float | Current value. Triggers animation if EnableAnimation is true. |
MinimumValue | float | Start of the scale. |
MaximumValue | float | End of the scale. |
NormalColor | Color | Base color (safe zone). |
WarningColor | Color | Color used when value >= WarningThreshold. |
DangerColor | Color | Color used when value >= DangerThreshold. |
WarningThreshold | float | Value trigger for warning state. |
DangerThreshold | float | Value trigger for danger state. |
Ticks & Scale
Customize the measurement markings around the gauge.
| Property | Type | Description |
|---|---|---|
TickCount | int | Total number of tick marks on the gauge. |
MajorTickCount | int | Number of ticks between major divisions. |
MajorTickLength | float | Length of the major tick lines. |
MinorTickLength | float | Length of the minor tick lines. |
TickThickness | int | Stroke width of the ticks. |
TickColor | Color | Color of the tick marks. |
ShowTickLabels | bool | Displays numeric labels at major tick intervals. |
LabelColor | Color | Color of the tick label text. |
ShowMinMaxLabels | bool | Displays the min and max values at the ends of the arc. |
Public Methods
// Set value with optional animation
haloGauge.SetValue(75, true);
// Increment/Decrement
haloGauge.AddValue(10, true);
// Reset to minimum
haloGauge.Reset();
// Custom Color Stops for Gradients
haloGauge.AddColorStop("Critical", Color.Purple);
haloGauge.RemoveColorStop("Critical");
Events
haloGauge.ValueChanged += (s, e) =>
{
Console.WriteLine($"Value: {e.NewValue}, Old: {e.OldValue}");
};
haloGauge.EnteredDangerZone += (s, e) =>
{
lblStatus.Text = "DANGER!";
lblStatus.ForeColor = Color.Red;
};
Example: Server Load Monitor
public void InitLoadGauge()
{
haloGauge.MinimumValue = 0;
haloGauge.MaximumValue = 100;
// Thresholds
haloGauge.WarningThreshold = 70;
haloGauge.DangerThreshold = 90;
// Colors
haloGauge.NormalColor = Color.FromArgb(0, 192, 0);
// Green
haloGauge.WarningColor = Color.FromArgb(255, 192, 0);
// Orange
haloGauge.DangerColor = Color.Red;
// Visuals
haloGauge.UseSmoothColorTransition = true;
haloGauge.UnitText = "%";
haloGauge.ArcThickness = 20;
haloGauge.ShowTickLabels = true;
}