ListBox.SelectedIndexChanged Olay

Tanım

SelectedIndex özelliği veya koleksiyonu değiştiğinde SelectedIndices gerçekleşir.

public:
 event EventHandler ^ SelectedIndexChanged;
public event EventHandler SelectedIndexChanged;
public event EventHandler? SelectedIndexChanged;
member this.SelectedIndexChanged : EventHandler 
Public Custom Event SelectedIndexChanged As EventHandler 

Olay Türü

Örnekler

Aşağıdaki kod örneği, farklı ListBox bir denetimdeki SelectedIndexChanged bir öğeyi aramak ve seçmek için olayının nasıl kullanılacağını gösterir. Örnekte, içindeki seçili öğenin ListBox ne zaman değiştirildiğini belirlemek için olayı kullanılırSelectedIndexChanged. Örnek kod daha sonra özelliğini kullanarak SelectedItem öğenin metnini okur ve ilk ListBoxiçinde tarafından SelectedItem döndürülen metni kullanarak yöntemini farklı ListBox bir üzerinde çağırırFindString. Diğer ListBoxiçinde bir öğe bulunursa, öğe seçilir. Bu örnek, forma ve listBox2adlı listBox1 iki ListBox denetimin eklenmesini ve her iki denetimin de ListBox aynı öğeleri içermesini gerektirir. Örnek, örnekte tanımlanan olay işleme yönteminin olayına SelectedIndexChangedlistBox1bağlı olmasını da gerektirir.

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

Açıklamalar

içinde seçilen dizinin ListBox ne zaman değiştirildiğini belirlemek üzere bu olay için bir olay işleyicisi oluşturabilirsiniz. Bu, içindeki geçerli seçimi ListBoxtemel alan diğer denetimlerde bilgi görüntülemeniz gerektiğinde yararlı olabilir. Diğer denetimlerdeki bilgileri yüklemek için bu olayın olay işleyicisini kullanabilirsiniz.

SelectionMode özelliği veya SelectionMode.MultiExtendedolarak ayarlanırsaSelectionMode.MultiSimple, seçimden öğe kaldırma da dahil olmak üzere koleksiyonda yapılan herhangi bir değişiklik SelectedIndices bu olayı tetikler.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ayrıca bkz.