Back to Devexpress

How To: Create a State Indicator Gauge (Runtime)

windowsforms-113859-controls-and-libraries-gauges-examples-how-to-create-a-state-indicator-gauge-runtime.md

latest2.9 KB
Original Source

How To: Create a State Indicator Gauge (Runtime)

  • Nov 13, 2018
  • 2 minutes to read

The following example shows how to create a state indicator gauge.

In the example a state indicator gauge is created using the GaugeControlBase.AddStateIndicatorGauge method. Then, a state indicator containing four states is added to this gauge. To set the initial state for the state indicator, the StateIndicator.StateIndex property is used.

The result is displayed below:

csharp
using DevExpress.XtraGauges.Win;
using DevExpress.XtraGauges.Core.Model;
using DevExpress.XtraGauges.Core.Base;
using DevExpress.XtraGauges.Win.Gauges.State;

GaugeControl gc = new GaugeControl();

// Add a state indicator gauge.
StateIndicatorGauge siGauge = gc.AddStateIndicatorGauge();

// Add a state indicator.
StateIndicatorComponent stateIndicator = siGauge.AddIndicator();

// Add states
StateIndicatorShapeType[] shapes = new StateIndicatorShapeType[] {
    StateIndicatorShapeType.TrafficLight1,
    StateIndicatorShapeType.TrafficLight2,
    StateIndicatorShapeType.TrafficLight3,
    StateIndicatorShapeType.TrafficLight4
};

stateIndicator.States.Clear();

foreach(StateIndicatorShapeType shape in shapes) {
    IndicatorState state = new IndicatorState();
    state.ShapeType = shape;
    stateIndicator.States.Add(state);
}

// Set the current state.
stateIndicator.StateIndex = 1;

// Set the indicator's size.
stateIndicator.Size = new SizeF(100, 200);

// Add the gauge control to the form.
gc.Size = new Size(250, 250);
gc.Parent = this;
vb
Imports DevExpress.XtraGauges.Win
Imports DevExpress.XtraGauges.Core.Model
Imports DevExpress.XtraGauges.Core.Base
Imports DevExpress.XtraGauges.Win.Gauges.State

Private gc As GaugeControl = New GaugeControl()

' Add a state indicator gauge.
Private siGauge As StateIndicatorGauge = gc.AddStateIndicatorGauge()

' Add a state indicator.
Private stateIndicator As StateIndicatorComponent = siGauge.AddIndicator()

' Add states
Private shapes As StateIndicatorShapeType() = New StateIndicatorShapeType() _
    { StateIndicatorShapeType.TrafficLight1, StateIndicatorShapeType.TrafficLight2, _
    StateIndicatorShapeType.TrafficLight3, StateIndicatorShapeType.TrafficLight4 }
stateIndicator.States.Clear()

For Each shape As StateIndicatorShapeType In shapes
    Dim state As IndicatorState = New IndicatorState()
    state.ShapeType = shape
    stateIndicator.States.Add(state)
Next shape

' Set the current state.
stateIndicator.StateIndex = 1

' Set the indicator's size.
stateIndicator.Size = New SizeF(100, 200)

' Add the gauge control to the form.
gc.Size = New Size(250, 250)
gc.Parent = Me