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