Поделиться через


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 коллекции, включая удаление элемента из выбора, вызовет это событие.

Дополнительные сведения об обработке событий см. в разделе "Обработка и создание событий".

Применяется к

См. также раздел