ListBox.SelectedIndexChanged Evento

Definición

Se produce cuando se ha modificado la propiedad SelectedIndex o la colección SelectedIndices.

public:
 event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
public event EventHandler? SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler 
Public Custom Event SelectedIndexChanged As EventHandler 

Tipo de evento

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el SelectedIndexChanged evento para buscar y seleccionar un elemento en un control diferente ListBox . En el ejemplo se usa el SelectedIndexChanged evento para determinar cuándo se cambia el elemento seleccionado en .ListBox A continuación, el código de ejemplo lee el texto del elemento mediante la SelectedItem propiedad y llama al FindString método en otro ListBox mediante el texto devuelto por SelectedItem en el primer ListBox. Si se encuentra un elemento en el otro ListBox, se selecciona el elemento. Este ejemplo requiere que se hayan agregado dos ListBox controles, denominados listBox1 y listBox2, a un formulario y que ambos ListBox controles contengan elementos idénticos. El ejemplo también requiere que el método de control de eventos definido en el ejemplo esté conectado al SelectedIndexChanged evento de listBox1.

private:
   void listBox1_SelectedIndexChanged( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Get the currently selected item in the ListBox.
      String^ curItem = listBox1->SelectedItem->ToString();

      // Find the string in ListBox2.
      int index = listBox2->FindString( curItem );

      // If the item was not found in ListBox 2 display a message box,
      //  otherwise select it in ListBox2.
      if ( index == -1 )
            MessageBox::Show( "Item is not available in ListBox2" );
      else
            listBox2->SetSelected( index, true );
   }
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
   // Get the currently selected item in the ListBox.
   string curItem = listBox1.SelectedItem.ToString();

   // Find the string in ListBox2.
   int index = listBox2.FindString(curItem);
   // If the item was not found in ListBox 2 display a message box, otherwise select it in ListBox2.
   if(index == -1)
      MessageBox.Show("Item is not available in ListBox2");
   else
      listBox2.SetSelected(index,true);
}
Private Sub listBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles listBox1.SelectedIndexChanged
   ' Get the currently selected item in the ListBox.
   Dim curItem As String = listBox1.SelectedItem.ToString()

   ' Find the string in ListBox2.
   Dim index As Integer = listBox2.FindString(curItem)
   ' If the item was not found in ListBox 2 display a message box, otherwise select it in ListBox2.
   If index = -1 Then
      MessageBox.Show("Item is not available in ListBox2")
   Else
      listBox2.SetSelected(index, True)
   End If
End Sub

Comentarios

Puede crear un controlador de eventos para este evento para determinar cuándo se ha cambiado el índice seleccionado en .ListBox Esto puede ser útil cuando necesite mostrar información en otros controles en función de la selección actual en .ListBox Puede usar el controlador de eventos para este evento para cargar la información en los demás controles.

Si la SelectionMode propiedad se establece SelectionMode.MultiSimple en o SelectionMode.MultiExtended, cualquier cambio en la SelectedIndices colección, incluida la eliminación de un elemento de la selección, generará este evento.

Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.

Se aplica a

Consulte también