Skip to main content

BaseListBoxControl.SelectedIndexChanged Event

Allows you to respond to item selection.

Namespace: DevExpress.XtraEditors

Assembly: DevExpress.XtraEditors.v25.1.dll

NuGet Package: DevExpress.Win.Navigation

Declaration

[DXCategory("Property Changed")]
public event EventHandler SelectedIndexChanged

Event Data

The SelectedIndexChanged event's data class is EventArgs.

Remarks

Handle the SelectedIndexChanged event to perform actions each time the selection has been changed. If the control functions in single selection mode, this event fires after the BaseListBoxControl.SelectedIndex property value has been changed. Usually this happens in the following cases:

  • focus moves from one item to another;
  • the item that was selected has been removed.

The list box control can, however, function in multi selection mode, allowing several items to be selected. In this case, the SelectedIndexChanged event fires each time the selection has been changed. The indexes of all items currently selected comprise the collection which can be accessed via control’s BaseListBoxControl.SelectedIndices property. The BaseListBoxControl.SelectedIndex property contains the first element in the collection in this case.

Example

In this example, a ListBoxControl displays a list of system colors. The following code handles the BaseListBoxControl.SelectedIndexChanged event to change the form’s background color when a user selects a color in the listbox:

BaseListBoxControl - SelectedIndexChanged - example

private void Form1_Load(object sender, EventArgs e) {
    Color[] colorArray = {
                   SystemColors.ActiveCaption,
                   SystemColors.ActiveCaptionText,
                   SystemColors.AppWorkspace,
                   SystemColors.Control,
                   SystemColors.ControlDark,
                   SystemColors.ControlLight,
                   SystemColors.ControlText,
                   SystemColors.Desktop,
                   SystemColors.Highlight,
                   SystemColors.InactiveBorder,
                   SystemColors.InactiveCaption,
                   SystemColors.Info,
                   SystemColors.InfoText,
                   SystemColors.Menu,
                   SystemColors.MenuText,
                   SystemColors.ScrollBar,
                   SystemColors.Window,
                   SystemColors.WindowFrame
                };
    listBoxControl1.DataSource = colorArray;
    listBoxControl1.DisplayMember = "Name";
    listBoxControl1.SelectedIndexChanged += ListBoxControl1_SelectedIndexChanged;
}

private void ListBoxControl1_SelectedIndexChanged(object sender, EventArgs e) {
    if (listBoxControl1.SelectedValue != null)
        this.BackColor = (Color)listBoxControl1.SelectedValue;
    else
        this.BackColor = Color.Black;
}
See Also