In This Topic
In order to add a marker indicator to a gauge panel you need to create an instance of the NMarkerValueIndicator and then add it to the Indicators collection of the panel.
Marker Value
The marker Value property defines how the marker is positioned along the axis. The following code will create two marker indicators positioned at values 10 and 90:
C# |
Copy Code
|
nChartControl1.Panels.Clear();
NRadialGaugePanel radialGauge = new NRadialGaugePanel();
nChartControl1.Panels.Add(radialGauge);
radialGauge.Indicators.Add(new NMarkerValueIndicator(10));
radialGauge.Indicators.Add(new NMarkerValueIndicator(90));
nChartControl1.Refresh();
|
Visual Basic |
Copy Code
|
NChartControl1.Panels.Clear()
Dim radialGauge As New NRadialGaugePanel
NChartControl1.Panels.Add(radialGauge)
radialGauge.Indicators.Add(New NMarkerValueIndicator(10))
radialGauge.Indicators.Add(New NMarkerValueIndicator(90))
NChartControl1.Refresh()
|
Marker Shape
The marker shape and appearance are controlled through the Shape property exposed by the NMarkerValueIndicator class. This property accepts a 2D Smart Shape definition that you can create either standalone or use some of the predefined 2D smart shapes exposed from the N2DSmartShapeFactory class. By default the maker will use a triangular smart shape definition, but you can change this by simply creating a new smart shape and assigning it to the Shape property of the indicator.
The following code will change the marker shape to bar:
C# |
Copy Code
|
nChartControl1.Panels.Clear();
NRadialGaugePanel radialGauge = new NRadialGaugePanel();
nChartControl1.Panels.Add(radialGauge);
NMarkerValueIndicator marker = new NMarkerValueIndicator();
marker.Value = 10;
N2DSmartShapeFactory factory = new N2DSmartShapeFactory(new NColorFillStyle(Color.Red), new NStrokeStyle(Color.DarkRed), new NShadowStyle());
NSmartShape smartShape = factory.CreateShape(SmartShape2D.Bar);
marker.Shape = smartShape;
radialGauge.Indicators.Add(marker);
nChartControl1.Refresh();
|
Visual Basic |
Copy Code
|
NChartControl1.Panels.Clear()
Dim radialGauge As New NRadialGaugePanel
NChartControl1.Panels.Add(radialGauge)
Dim marker As New NMarkerValueIndicator
marker.Value = 10
Dim factory As New N2DSmartShapeFactory(New NColorFillStyle(Color.Red), New NStrokeStyle(Color.DarkRed), New NShadowStyle)
Dim smartShape As NSmartShape = factory.CreateShape(SmartShape2D.Bar)
marker.Shape = smartShape
NChartControl1.Refresh()
|
Marker Appearance
Marker appearance is controlled through the smart shape FillStyle, StrokeStyle and ShadowStyle properties. The following code snippet will change the marker filling and stroke to dark green:
C# |
Copy Code
|
nChartControl1.Panels.Clear();
NRadialGaugePanel radialGauge = new NRadialGaugePanel();
nChartControl1.Panels.Add(radialGauge);
NMarkerValueIndicator marker = new NMarkerValueIndicator();
marker.Value = 10;
marker.Shape.FillStyle = new NColorFillStyle(Color.DarkGreen);
marker.Shape.StrokeStyle = new NStrokeStyle(Color.DarkGreen);
radialGauge.Indicators.Add(marker);
nChartControl1.Refresh();
|
Visual Basic |
Copy Code
|
NChartControl1.Panels.Clear()
Dim radialGauge As New NRadialGaugePanel
NChartControl1.Panels.Add(radialGauge)
Dim marker As New NMarkerValueIndicator
marker.Value = 10
marker.Shape.FillStyle = New NColorFillStyle(Color.DarkGreen)
marker.Shape.StrokeStyle = New NStrokeStyle(Color.DarkGreen)
radialGauge.Indicators.Add(marker)
NChartControl1.Refresh()
|
Marker Size
The marker size is controlled by the Width and Height properties exposed by the NMarkerValueIndicator class. The following code will make the value indicator bigger:
C# |
Copy Code
|
nChartControl1.Panels.Clear();
NRadialGaugePanel radialGauge = new NRadialGaugePanel();
nChartControl1.Panels.Add(radialGauge);
NMarkerValueIndicator marker = new NMarkerValueIndicator();
marker.Value = 10;
marker.Width = new NLength(20);
marker.Height = new NLength(20);
radialGauge.Indicators.Add(marker);
nChartControl1.Refresh();
|
Visual Basic |
Copy Code
|
NChartControl1.Panels.Clear()
Dim radialGauge As New NRadialGaugePanel
NChartControl1.Panels.Add(radialGauge)
Dim marker As New NMarkerValueIndicator
marker.Value = 10
marker.Width = New NLength(20)
marker.Height = New NLength(20)
radialGauge.Indicators.Add(marker)
NChartControl1.Refresh()
|
Related Examples
Windows forms: Gauge Gallery\Gauges\Indicators
Web forms: Gauge Gallery\Gauges\Indicators
See Also