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


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

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

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

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

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