ListBox.SelectedIndexChanged Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при SelectedIndex изменении свойства или SelectedIndices коллекции.
public:
event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
public event EventHandler? SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler
Public Custom Event SelectedIndexChanged As EventHandler
Тип события
Примеры
В следующем примере кода показано, как использовать SelectedIndexChanged событие для поиска и выбора элемента в другом ListBox элементе управления. В примере используется SelectedIndexChanged событие для определения того, когда выбранный элемент в объекте ListBox изменяется. Затем код примера считывает текст элемента с помощью SelectedItem свойства и вызывает FindString метод для другого ListBox с помощью текста, возвращаемого SelectedItem в первую очередь ListBox. Если элемент найден в другом ListBox, выбран элемент. В этом примере требуется, чтобы два ListBox элемента управления, именованные listBox1 и , были добавлены в форму и listBox2что оба ListBox элемента управления содержат элементы, идентичные. В примере также требуется, чтобы метод обработки событий, определенный в примере, был подключен к SelectedIndexChanged событию 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
Комментарии
Вы можете создать обработчик событий для этого события, чтобы определить, когда выбранный индекс ListBox был изменен. Это может быть полезно, если необходимо отобразить сведения в других элементах управления на основе текущего выбора в элементе ListBoxуправления. Для загрузки сведений в других элементах управления можно использовать обработчик событий для этого события.
SelectionMode Если для свойства задано SelectionMode.MultiSimple значение или SelectionMode.MultiExtendedкакое-либо изменение SelectedIndices коллекции, включая удаление элемента из выбора, вызовет это событие.
Дополнительные сведения об обработке событий см. в разделе "Обработка и создание событий".