Udostępnij za pośrednictwem


ListBox.SelectedIndexCollection Klasa

Definicja

Reprezentuje kolekcję zawierającą indeksy do wybranych elementów w obiekcie ListBox.

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
Dziedziczenie
ListBox.SelectedIndexCollection
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak za pomocą FindString metody wyszukać wszystkie wystąpienia tekstu wyszukiwania w elementach elementu ListBox. W przykładzie użyto wersji FindString metody, która umożliwia określenie początkowego indeksu wyszukiwania, z którego ma być stale wyszukiwane wszystkie elementy w elemecie ListBox. W przykładzie pokazano również, jak określić, kiedy FindString metoda rozpoczyna wyszukiwanie w górnej części listy po osiągnięciu dolnej części listy elementów, aby zapobiec wyszukiwaniu cyklicznego. Po znalezieniu elementów w elemecie ListBoxsą one wybrane przy użyciu SetSelected metody .

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

Uwagi

Klasa ListBox.SelectedIndexCollection przechowuje indeksy do wybranych elementów w obiekcie ListBox. Indeksy przechowywane w obiekcie ListBox.SelectedIndexCollection to pozycje indeksu ListBox.ObjectCollection w klasie. Klasa ListBox.ObjectCollection przechowuje wszystkie elementy wyświetlane w obiekcie ListBox.

W poniższej tabeli przedstawiono przykład ListBox.ObjectCollection przechowywania elementów elementu ListBox , a także ich stanów wyboru w przykładzie ListBox.

Indeks Element Stan zaznaczenia w polu listy
0 object1 Niezaznaczone
1 object2 Wybrane
2 object3 Niezaznaczone
3 object4 Wybrane
4 object5 Wybrane

Na podstawie przykładu ListBox.ObjectCollection w poprzedniej tabeli poniższa tabela przedstawia sposób wyświetlania.ListBox.SelectedIndexCollection

Indeks Indeks wybranego elementu w obiekcie ObjectCollection
0 1
1 3
2 4

Za pomocą właściwości i metod tej klasy można wykonywać różne zadania w kolekcji. Metoda Contains umożliwia określenie, czy pozycja indeksu ListBox.ObjectCollection z klasy jest elementem członkowskim wybranych indeksów przechowywanych w elemencie ListBox.SelectedIndexCollection. Gdy wiesz, że element znajduje się w kolekcji, możesz użyć IndexOf metody , aby określić, gdzie jest przechowywana określona pozycja indeksu ListBox w ListBox.ObjectCollection obiekcie .

Konstruktory

ListBox.SelectedIndexCollection(ListBox)

Inicjuje nowe wystąpienie klasy ListBox.SelectedIndexCollection.

Właściwości

Count

Pobiera liczbę elementów w kolekcji.

IsReadOnly

Pobiera wartość wskazującą, czy kolekcja jest przeznaczona tylko do odczytu.

Item[Int32]

Pobiera wartość indeksu w określonym indeksie w tej kolekcji.

Metody

Add(Int32)

Dodaje element ListBox w określonej lokalizacji indeksu.

Clear()

Usuwa wszystkie kontrolki z kolekcji.

Contains(Int32)

Określa, czy określony indeks znajduje się w kolekcji.

CopyTo(Array, Int32)

Kopiuje całą kolekcję do istniejącej tablicy w określonej lokalizacji w tablicy.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który ma być używany do iterowania w wybranej kolekcji indeksów.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IndexOf(Int32)

Zwraca indeks w obrębie ListBox.SelectedIndexCollection określonego indeksu z ListBox.ObjectCollection obiektu ListBox.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Remove(Int32)

Usuwa określoną kontrolkę z kolekcji.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.IsSynchronized

Aby uzyskać opis tego elementu członkowskiego, zobacz IsSynchronized.

ICollection.SyncRoot

Aby uzyskać opis tego elementu członkowskiego, zobacz SyncRoot.

IList.Add(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Add(Object).

IList.Clear()

Aby uzyskać opis tego elementu członkowskiego, zobacz Clear().

IList.Contains(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Contains(Object).

IList.IndexOf(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz IndexOf(Object).

IList.Insert(Int32, Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Insert(Int32, Object).

IList.IsFixedSize

Aby uzyskać opis tego elementu członkowskiego, zobacz IsFixedSize.

IList.Item[Int32]

Aby uzyskać opis tego elementu członkowskiego, zobacz Item[Int32].

IList.Remove(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Remove(Object).

IList.RemoveAt(Int32)

Aby uzyskać opis tego elementu członkowskiego, zobacz RemoveAt(Int32).

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy