ListBox.SelectedIndexChanged Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando a propriedade SelectedIndex ou a coleção SelectedIndices é alterada.
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
Exemplos
O exemplo de código a seguir demonstra como usar o SelectedIndexChanged evento para pesquisar e selecionar um item em um controle diferente ListBox . O exemplo usa o SelectedIndexChanged evento para determinar quando o item selecionado no ListBox é alterado. Em seguida, o código de exemplo lê o texto do item usando a SelectedItem propriedade e chama o FindString método em um diferente ListBox usando o texto retornado por SelectedItem no primeiro ListBox. Se um item for encontrado no outro ListBox, o item será selecionado. Este exemplo requer que dois ListBox controles, chamados listBox1
e listBox2
, tenham sido adicionados a um formulário e que ambos os ListBox controles contenham itens idênticos. O exemplo também requer que o método de manipulação de eventos definido no exemplo esteja conectado 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
Comentários
Você pode criar um manipulador de eventos para esse evento para determinar quando o índice selecionado no ListBox foi alterado. Isso pode ser útil quando você precisa exibir informações em outros controles com base na seleção atual no ListBox. Você pode usar o manipulador de eventos para esse evento para carregar as informações nos outros controles.
Se a SelectionMode propriedade for definida SelectionMode.MultiSimple como ou SelectionMode.MultiExtended, qualquer alteração na coleção, incluindo a SelectedIndices remoção de um item da seleção, gerará esse evento.
Para obter mais informações sobre como lidar com eventos, consulte Manipulando e gerando eventos.