ListBox.SelectedIndices Eigenschaft

Definition

Ruft eine Auflistung ab, die die nullbasierten Indizes aller derzeit ausgewählten Elemente in der ListBox enthält.

public:
 property System::Windows::Forms::ListBox::SelectedIndexCollection ^ SelectedIndices { System::Windows::Forms::ListBox::SelectedIndexCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListBox.SelectedIndexCollection SelectedIndices { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndices : System.Windows.Forms.ListBox.SelectedIndexCollection
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection

Eigenschaftswert

ListBox.SelectedIndexCollection

Eine ListBox.SelectedIndexCollection, die die Indizes der derzeit im Steuerelement ausgewählten Elemente enthält. Wenn gegenwärtig keine Elemente ausgewählt sind, wird eine leere ListBox.SelectedIndexCollection zurückgegeben.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die FindString Methode verwendet wird, um nach allen Instanzen des Suchtexts in den Elementen des Suchtexts ListBoxzu suchen. Im Beispiel wird die Version der Methode verwendet, mit der FindString Sie einen Startsuchindex angeben können, aus dem eine kontinuierliche Suche aller Elemente im Bereich ListBoxausgeführt werden soll. Im Beispiel wird auch veranschaulicht, wie Sie ermitteln können, wann die FindString Methode mit der Suche von oben in der Liste beginnt, nachdem sie das Ende der Liste der Elemente erreicht hat, um eine rekursive Suche zu verhindern. Sobald Elemente im ListBoxKontrollkästchen gefunden wurden, werden sie mithilfe der SetSelected Methode ausgewählt.

private:
   void FindAllOfMyString( String^ searchString )
   {
      // Set the SelectionMode property of the ListBox to select multiple items.
      listBox1->SelectionMode = SelectionMode::MultiExtended;

      // Set our intial index variable to -1.
      int x = -1;

      // If the search string is empty exit.
      if ( searchString->Length != 0 )
      {
         // Loop through and find each item that matches the search string.
         do
         {
            // Retrieve the item based on the previous index found. Starts with -1 which searches start.
            x = listBox1->FindString( searchString, x );

            // If no item is found that matches exit.
            if ( x != -1 )
            {
               // Since the FindString loops infinitely, determine if we found first item again and exit.
               if ( listBox1->SelectedIndices->Count > 0 )
               {
                  if ( x == listBox1->SelectedIndices[ 0 ] )
                                    return;
               }

               // Select the item in the ListBox once it is found.
               listBox1->SetSelected( x, true );
            }
         }
         while ( x != -1 );
      }
   }
private void FindAllOfMyString(string searchString)
{
   // Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended;
   
   // Set our intial index variable to -1.
   int x =-1;
   // If the search string is empty exit.
   if (searchString.Length != 0)
   {
      // Loop through and find each item that matches the search string.
      do
      {
         // Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x);
         // If no item is found that matches exit.
         if (x != -1)
         {
            // Since the FindString loops infinitely, determine if we found first item again and exit.
            if (listBox1.SelectedIndices.Count > 0)
            {
               if(x == listBox1.SelectedIndices[0])
                  return;
            }
            // Select the item in the ListBox once it is found.
            listBox1.SetSelected(x,true);
         }
      }while(x != -1);
   }
}
Private Sub FindAllOfMyString(ByVal searchString As String)
   ' Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended

   ' Set our intial index variable to -1.
   Dim x As Integer = -1
   ' If the search string is empty exit.
   If searchString.Length <> 0 Then
      ' Loop through and find each item that matches the search string.
      Do
         ' Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x)
         ' If no item is found that matches exit.
         If x <> -1 Then
            ' Since the FindString loops infinitely, determine if we found first item again and exit.
            If ListBox1.SelectedIndices.Count > 0 Then
               If x = ListBox1.SelectedIndices(0) Then
                  Return
               End If
            End If
            ' Select the item in the ListBox once it is found.
            ListBox1.SetSelected(x, True)
         End If
      Loop While x <> -1
   End If
End Sub

Hinweise

Bei einer Mehrfachauswahl ListBoxgibt diese Eigenschaft eine Auflistung zurück, die die Indizes für alle Elemente enthält, die in der ListBoxDatei ausgewählt sind. Bei einer einzelauswahl ListBoxgibt diese Eigenschaft eine Auflistung zurück, die ein einzelnes Element enthält, das den Index des einzigen ausgewählten Elements im .ListBox Weitere Informationen zum Bearbeiten der Elemente der Auflistung finden Sie unter ListBox.SelectedIndexCollection.

Die ListBox Klasse bietet eine Reihe von Möglichkeiten, auf ausgewählte Elemente zu verweisen. Anstatt die Eigenschaft zum Abrufen der SelectedIndices Indexposition des aktuell ausgewählten Elements in einer einzelauswahl ListBoxabzurufen, können Sie die SelectedIndex Eigenschaft verwenden. Wenn Sie das Element abrufen möchten, das derzeit in der ListBoxIndexposition des Elements ausgewählt ist, verwenden Sie die SelectedItem Eigenschaft. Darüber hinaus können Sie die SelectedItems Eigenschaft verwenden, wenn Sie alle ausgewählten Elemente in einer Mehrfachauswahl ListBoxabrufen möchten.

Gilt für

Siehe auch