ListBox.SelectedIndexChanged Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica quando la proprietà SelectedIndex o l'insieme SelectedIndices viene modificato.
public:
event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
public event EventHandler? SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler
Public Custom Event SelectedIndexChanged As EventHandler
Tipo evento
Esempio
Nell'esempio di codice seguente viene illustrato come usare l'evento SelectedIndexChanged per cercare e selezionare un elemento in un controllo diverso ListBox . Nell'esempio viene utilizzato l'evento SelectedIndexChanged per determinare quando viene modificato l'elemento ListBox selezionato in . Il codice di esempio legge quindi il testo dell'elemento usando la SelectedItem proprietà e chiama il FindString metodo su un altro ListBox utilizzando il testo restituito da SelectedItem nel primo ListBoxoggetto . Se un elemento viene trovato nell'altro ListBox, l'elemento viene selezionato. Questo esempio richiede che due ListBox controlli, denominati listBox1
e listBox2
, siano stati aggiunti a una maschera e che entrambi i ListBox controlli contengano elementi identici. L'esempio richiede inoltre che il metodo di gestione degli eventi definito nell'esempio sia connesso all'evento SelectedIndexChanged di 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
Commenti
È possibile creare un gestore eventi per questo evento per determinare quando l'indice selezionato in ListBox è stato modificato. Ciò può essere utile quando è necessario visualizzare informazioni in altri controlli in base alla selezione corrente in ListBox. È possibile usare il gestore eventi per questo evento per caricare le informazioni negli altri controlli.
Se la SelectionMode proprietà è impostata su SelectionMode.MultiSimple o SelectionMode.MultiExtended, qualsiasi modifica alla raccolta, inclusa la SelectedIndices rimozione di un elemento dalla selezione, genererà questo evento.
Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.