windowsforms-devexpress-dot-xtraeditors-dot-stepprogressbar-a8aa7dca.md
Fires when the selection moves to another item.
Namespace : DevExpress.XtraEditors
Assembly : DevExpress.XtraEditors.v25.2.dll
NuGet Package : DevExpress.Win.Navigation
[DXCategory("Property Changed")]
public event StepProgressBarSelectedItemChangedEventHandler SelectedItemChanged
<DXCategory("Property Changed")>
Public Event SelectedItemChanged As StepProgressBarSelectedItemChangedEventHandler
The SelectedItemChanged event's data class is DevExpress.XtraEditors.StepProgressBarSelectedItemChangedEventArgs.
The sample below illustrates how to change item settings when the SelectedItemChanged event occurs.
using DevExpress.XtraEditors;
// ...
spBar1.ConnectorLineThickness = 15;
spBar1.IndentBetweenItems = 50;
spBar1.IndicatorLineThickness = 4;
spBar1.ItemOptions.ConnectorOffset = -20;
spBar1.ItemOptions.Indicator.ActiveStateDrawMode = DevExpress.XtraEditors.IndicatorDrawMode.None;
spBar1.ItemOptions.Indicator.InactiveStateDrawMode = DevExpress.XtraEditors.IndicatorDrawMode.None;
spBar1.ItemOptions.Indicator.Width = 50;
void OnSelectedItemChanged(object sender, StepProgressBarSelectedItemChangedEventArgs e) {
StepProgressBar bar = sender as StepProgressBar;
foreach (StepProgressBarItem item in bar.Items) {
item.Options.Indicator.ActiveStateImageOptions.SvgImage = null;
item.Options.Indicator.Width = 50;
item.Options.ConnectorOffset = -20;
item.ContentBlock1.Description = null;
}
var currentItem = e.SelectedItems.Last();
if (currentItem != null) {
currentItem.Options.Indicator.ActiveStateImageOptions.SvgImage = svgImageCollection1[0];
currentItem.Options.Indicator.Width = 100;
currentItem.ContentBlock1.Description = "Step " + (bar.SelectedItemIndex + 1).ToString() + " of 6";
currentItem.Options.ConnectorOffset = 0;
if (bar.SelectedItemIndex < 3)
bar.Appearances.CommonActiveColor = Color.IndianRed;
if (bar.SelectedItemIndex >= 3 && bar.SelectedItemIndex < 5)
bar.Appearances.CommonActiveColor = Color.Goldenrod;
if (bar.SelectedItemIndex >= 5)
bar.Appearances.CommonActiveColor = Color.Green;
}
}
spBar1.ConnectorLineThickness = 15
spBar1.IndentBetweenItems = 50
spBar1.IndicatorLineThickness = 4
spBar1.ItemOptions.ConnectorOffset = -20
spBar1.ItemOptions.Indicator.ActiveStateDrawMode = DevExpress.XtraEditors.IndicatorDrawMode.None
spBar1.ItemOptions.Indicator.InactiveStateDrawMode = DevExpress.XtraEditors.IndicatorDrawMode.None
spBar1.ItemOptions.Indicator.Width = 50
Private Sub OnSelectedItemChanged(ByVal sender As Object, ByVal e As StepProgressBarSelectedItemChangedEventArgs)
Dim bar As StepProgressBar = TryCast(sender, StepProgressBar)
For Each item As StepProgressBarItem In bar.Items
item.Options.Indicator.ActiveStateImageOptions.SvgImage = Nothing
item.Options.Indicator.Width = 50
item.Options.ConnectorOffset = -20
item.ContentBlock1.Description = Nothing
Next item
Dim currentItem = e.SelectedItems.Last()
If currentItem IsNot Nothing Then
currentItem.Options.Indicator.ActiveStateImageOptions.SvgImage = svgImageCollection1(0)
currentItem.Options.Indicator.Width = 100
currentItem.ContentBlock1.Description = "Step " & (bar.SelectedItemIndex + 1).ToString() & " of 6"
currentItem.Options.ConnectorOffset = 0
If bar.SelectedItemIndex < 3 Then
bar.Appearances.CommonActiveColor = Color.IndianRed
End If
If bar.SelectedItemIndex >= 3 AndAlso bar.SelectedItemIndex < 5 Then
bar.Appearances.CommonActiveColor = Color.Goldenrod
End If
If bar.SelectedItemIndex >= 5 Then
bar.Appearances.CommonActiveColor = Color.Green
End If
End If
End Sub
See Also