Aggiunta di un range colorato ad un tachimetro in un report

Il seguente evento collegato ad un tachimetro consente di creare range colorati, come nella figura seguente:

  Private Sub gauge1_BeforePrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs)
	' Aggiunta dei range colorati
      dim gauge as XRGauge = CType(sender, XRGauge)
	Dim gaugeControl As DevExpress.XtraGauges.Core.Customization.DashboardGauge = gauge.Gauge

	dim scale As DevExpress.XtraGauges.Core.Model.ArcScale=gaugeControl.Elements(0)

	scale.BeginUpdate()

      Dim range1 As DevExpress.XtraGauges.Core.Model.ArcScaleRange = New DevExpress.XtraGauges.Core.Model.ArcScaleRange()
      range1.AppearanceRange.ContentBrush = New DevExpress.XtraGauges.Core.Drawing.SolidBrushObject(Color.Red)
      range1.StartValue = 0
      range1.EndValue = 30
      Dim range2 As DevExpress.XtraGauges.Core.Model.ArcScaleRange = New DevExpress.XtraGauges.Core.Model.ArcScaleRange()
      range2.AppearanceRange.ContentBrush = New DevExpress.XtraGauges.Core.Drawing.SolidBrushObject(Color.Yellow)
      range2.StartValue = 30
      range2.EndValue = 60
      Dim range3 As DevExpress.XtraGauges.Core.Model.ArcScaleRange = New DevExpress.XtraGauges.Core.Model.ArcScaleRange()
      range3.AppearanceRange.ContentBrush = New DevExpress.XtraGauges.Core.Drawing.SolidBrushObject(Color.Green)
      range3.StartValue = 60
      range3.EndValue = 100
      scale.Ranges.AddRange(New DevExpress.XtraGauges.Core.Model.IRange() {range1, range2, range3})

      scale.EndUpdate()
End Sub