Back to Devexpress

StepProgressBar.SelectedItemChanged Event

windowsforms-devexpress-dot-xtraeditors-dot-stepprogressbar-a8aa7dca.md

latest4.6 KB
Original Source

StepProgressBar.SelectedItemChanged Event

Fires when the selection moves to another item.

Namespace : DevExpress.XtraEditors

Assembly : DevExpress.XtraEditors.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
[DXCategory("Property Changed")]
public event StepProgressBarSelectedItemChangedEventHandler SelectedItemChanged
vb
<DXCategory("Property Changed")>
Public Event SelectedItemChanged As StepProgressBarSelectedItemChangedEventHandler

Event Data

The SelectedItemChanged event's data class is DevExpress.XtraEditors.StepProgressBarSelectedItemChangedEventArgs.

Remarks

The sample below illustrates how to change item settings when the SelectedItemChanged event occurs.

csharp
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;
    }
}
vb
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

StepProgressBar Class

StepProgressBar Members

DevExpress.XtraEditors Namespace