Freigeben über


ListBox.SelectedIndexCollection Klasse

Definition

Stellt die Auflistung dar, die die Indizes für die aktivierten Elemente in einem ListBox enthält.

public: ref class ListBox::SelectedIndexCollection : System::Collections::IList
public class ListBox.SelectedIndexCollection : System.Collections.IList
type ListBox.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListBox.SelectedIndexCollection
Implements IList
Vererbung
ListBox.SelectedIndexCollection
Implementiert

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie mithilfe der FindString Methode nach allen Instanzen des Suchtexts in den Elementen des ListBoxSuchtexts 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

Die ListBox.SelectedIndexCollection Klasse speichert die Indizes in den ausgewählten Elementen in der ListBox. Die in der ListBox.SelectedIndexCollection Klasse gespeicherten Indizes sind Indexpositionen innerhalb der ListBox.ObjectCollection Klasse. Die ListBox.ObjectCollection Klasse speichert alle Elemente, die in der ListBox.

In der folgenden Tabelle wird gezeigt, wie die ListBox.ObjectCollection Elemente der ListBox Elemente sowie deren Auswahlzustände innerhalb eines Beispiels ListBoxgespeichert werden.

Index Element Auswahlstatus innerhalb des ListBox-Steuerelements
0 object1 Nicht markiert
1 object2 Ausgewählt
2 object3 Nicht markiert
3 object4 Ausgewählt
4 object5 Ausgewählt

Basierend auf dem ListBox.ObjectCollection Beispiel in der vorherigen Tabelle veranschaulicht die folgende Tabelle, wie die ListBox.SelectedIndexCollection angezeigt werden soll.

Index Index des ausgewählten Elements in ObjectCollection
0 1
1 3
2 4

Sie können die Eigenschaften und Methoden dieser Klasse verwenden, um eine Vielzahl von Aufgaben mit der Auflistung auszuführen. Mit der Contains Methode können Sie ermitteln, ob eine Indexposition aus der ListBox.ObjectCollection Klasse ein Element der ausgewählten Indizes ist, die in der ListBox.SelectedIndexCollectionKlasse gespeichert sind. Sobald Sie wissen, dass sich das Element in der Auflistung befindet, können Sie die IndexOf Methode verwenden, um zu bestimmen, wo eine bestimmte Indexposition innerhalb der ListBox.ObjectCollection für die ListBox Auflistung gespeichert ist.

Konstruktoren

ListBox.SelectedIndexCollection(ListBox)

Initialisiert eine neue Instanz der ListBox.SelectedIndexCollection-Klasse.

Eigenschaften

Count

Ruft die Anzahl der Elemente in der Auflistung ab.

IsReadOnly

Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist.

Item[Int32]

Ruft den Indexwert am angegebenen Index in der Auflistung ab.

Methoden

Add(Int32)

Fügt die ListBox an der angegebenen Indexposition hinzu.

Clear()

Entfernt alle Steuerelemente aus der Auflistung.

Contains(Int32)

Bestimmt, ob der angegebene Index in der Auflistung enthalten ist.

CopyTo(Array, Int32)

Kopiert die gesamte Auflistung an eine angegebene Position in einem vorhandenen Array.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, der die Auflistung der ausgewählten Indizes durchlaufen soll.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(Int32)

Gibt den Index in der ListBox.SelectedIndexCollection des angegebenen Indexes aus der ListBox.ObjectCollection der ListBox zurück.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(Int32)

Entfernt das angegebene Steuerelement aus der Auflistung.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.IsSynchronized

Eine Beschreibung dieses Elements finden Sie unter IsSynchronized.

ICollection.SyncRoot

Eine Beschreibung dieses Elements finden Sie unter SyncRoot.

IList.Add(Object)

Eine Beschreibung dieses Elements finden Sie unter Add(Object).

IList.Clear()

Eine Beschreibung dieses Elements finden Sie unter Clear().

IList.Contains(Object)

Eine Beschreibung dieses Elements finden Sie unter Contains(Object).

IList.IndexOf(Object)

Eine Beschreibung dieses Elements finden Sie unter IndexOf(Object).

IList.Insert(Int32, Object)

Eine Beschreibung dieses Elements finden Sie unter Insert(Int32, Object).

IList.IsFixedSize

Eine Beschreibung dieses Elements finden Sie unter IsFixedSize.

IList.Item[Int32]

Eine Beschreibung dieses Elements finden Sie unter Item[Int32].

IList.Remove(Object)

Eine Beschreibung dieses Elements finden Sie unter Remove(Object).

IList.RemoveAt(Int32)

Eine Beschreibung dieses Elements finden Sie unter RemoveAt(Int32).

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für