ListBox.SelectedIndexChanged Evento

Definição

Ocorre quando a SelectedIndex propriedade ou a SelectedIndices coleção foi alterada.

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

Tipo de Evento

Exemplos

O exemplo de código seguinte demonstra como usar o SelectedIndexChanged evento para procurar e selecionar um item num controlo diferente ListBox . O exemplo usa o SelectedIndexChanged evento para determinar quando o item selecionado no ListBox é alterado. O código de exemplo lê então o texto do item usando a SelectedItem propriedade e chama o FindString método para outro ListBox usando o texto devolvido no SelectedItem primeiro ListBox. Se um item for encontrado no outro ListBox, o item é selecionado. Este exemplo exige que dois ListBox controlos, nomeados listBox1 e listBox2, tenham sido adicionados a um formulário e que ambos ListBox os controlos contenham itens idênticos. O exemplo também exige que o método de tratamento de eventos definido no exemplo esteja ligado ao 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

Observações

Pode criar um gestor de eventos para este evento para determinar quando o índice selecionado no ListBox foi alterado. Isto pode ser útil quando precisa de mostrar informação noutros controlos com base na seleção atual no ListBox. Pode usar o gestor de eventos para este evento para carregar a informação nos outros controlos.

Se a SelectionMode propriedade estiver definida para SelectionMode.MultiSimple ou SelectionMode.MultiExtended, qualquer alteração na SelectedIndices coleção, incluindo a remoção de um item da seleção, irá gerar este evento.

Para obter mais informações sobre como manipular eventos, consulte Manipulando e gerando eventos.

Aplica-se a

Ver também