Sdílet prostřednictvím


ListBox.SelectedIndexCollection Třída

Definice

Představuje kolekci obsahující indexy vybraných položek v objektu 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
Dědičnost
ListBox.SelectedIndexCollection
Implementuje

Příklady

Následující příklad ukazuje, jak použít metodu FindString hledat všechny instance hledaného textu v položkách .ListBox Příklad používá verzi FindString metody, která umožňuje zadat počáteční vyhledávací index, ze kterého se má provádět nepřetržité vyhledávání všech položek v souboru ListBox. Příklad také ukazuje, jak určit, kdy FindString metoda začne hledat z horní části seznamu, jakmile dosáhne dolní části seznamu položek, aby se zabránilo rekurzivnímu vyhledávání. Jakmile jsou položky nalezeny v ListBox, jsou vybrány pomocí 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

Poznámky

Třída ListBox.SelectedIndexCollection ukládá indexy do vybraných položek v souboru ListBox. Indexy uložené v objektu jsou ListBox.SelectedIndexCollection pozice indexu ListBox.ObjectCollection v rámci třídy. Třída ListBox.ObjectCollection ukládá všechny položky zobrazené v souboru ListBox.

Následující tabulka je příkladem toho, jak ListBox.ObjectCollection ukládá položky a ListBox jejich stavy výběru v příkladu ListBox.

Index Položka Stav výběru v seznamu
0 object1 Nevybrané
1 object2 Vybráno
2 object3 Nevybrané
3 object4 Vybráno
4 object5 Vybráno

Na základě příkladu ListBox.ObjectCollection v předchozí tabulce ukazuje následující tabulka způsob ListBox.SelectedIndexCollection zobrazení.

Index Index vybrané položky v ObjectCollection
0 1
1 3
2 4

Vlastnosti a metody této třídy můžete použít k provádění různých úloh s kolekcí. Metoda Contains umožňuje určit, zda je pozice indexu ListBox.ObjectCollection z třídy členem vybraných indexů uložených v .ListBox.SelectedIndexCollection Jakmile víte, že se položka nachází v kolekci, můžete pomocí IndexOf metody určit, kde je uložena konkrétní pozice indexu ListBox.ObjectCollection ListBox v rámci dané kolekce.

Konstruktory

ListBox.SelectedIndexCollection(ListBox)

Inicializuje novou instanci ListBox.SelectedIndexCollection třídy.

Vlastnosti

Count

Získá počet prvků v kolekci.

IsReadOnly

Získá hodnotu, která udává, zda je kolekce určena jen pro čtení.

Item[Int32]

Získá hodnotu indexu u zadaného indexu v této kolekci.

Metody

Add(Int32)

Přidá do zadaného umístění indexu ListBox .

Clear()

Odebere všechny ovládací prvky z kolekce.

Contains(Int32)

Určuje, jestli se zadaný index nachází v kolekci.

CopyTo(Array, Int32)

Zkopíruje celou kolekci do existujícího pole v zadaném umístění v rámci pole.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí enumerátor, který se použije k iteraci ve vybrané kolekci indexů.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IndexOf(Int32)

Vrátí index v rámci ListBox.SelectedIndexCollection zadaného indexu z objektu ListBox.ObjectCollection ListBox.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
Remove(Int32)

Odebere zadaný ovládací prvek z kolekce.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

ICollection.IsSynchronized

Popis tohoto člena naleznete v tématu IsSynchronized.

ICollection.SyncRoot

Popis tohoto člena naleznete v tématu SyncRoot.

IList.Add(Object)

Popis tohoto člena naleznete v tématu Add(Object).

IList.Clear()

Popis tohoto člena naleznete v tématu Clear().

IList.Contains(Object)

Popis tohoto člena najdete v tématu Contains(Object).

IList.IndexOf(Object)

Popis tohoto člena najdete v tématu IndexOf(Object).

IList.Insert(Int32, Object)

Popis tohoto člena najdete v tématu Insert(Int32, Object).

IList.IsFixedSize

Popis tohoto člena najdete v tématu IsFixedSize.

IList.Item[Int32]

Popis tohoto člena najdete v tématu Item[Int32].

IList.Remove(Object)

Popis tohoto člena najdete v tématu Remove(Object).

IList.RemoveAt(Int32)

Popis tohoto člena najdete v tématu RemoveAt(Int32).

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable IQueryable.

Platí pro