ListBox.SelectedIndexCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 určit počáteční vyhledávací index, ze kterého se má provádět průběžné 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 objektu 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 k vybraným položkám v objektu ListBox. Indexy uložené v indexech ListBox.SelectedIndexCollection jsou 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 ListBox a jejich stavy výběru v příkladu ListBox.
| Index | Item | Stav výběru v seznamu |
|---|---|---|
| 0 | object1 | Nevybráno |
| 1 | object2 | Vybráno |
| 2 | object3 | Nevybráno |
| 3 | object4 | Vybráno |
| 4 | object5 | Vybráno |
Na základě příkladu ListBox.ObjectCollection v předchozí tabulce ukazuje následující tabulka, jak by vypadala ListBox.SelectedIndexCollection .
| 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 z ListBox.ObjectCollection třídy členem vybraných indexů uložených ListBox.SelectedIndexCollectionv souboru . Jakmile víte, že položka se nachází v kolekci, můžete pomocí IndexOf metody určit, kde je uložena konkrétní pozice indexu ListBox.ObjectCollectionListBox v rámci dané kolekce.
Konstruktory
| Name | Description |
|---|---|
| ListBox.SelectedIndexCollection(ListBox) |
Inicializuje novou instanci ListBox.SelectedIndexCollection třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet položek v kolekci. |
| IsReadOnly |
Získá hodnotu určující, zda kolekce je jen pro čtení. |
| Item[Int32] |
Získá hodnotu indexu na zadaný index v rámci této kolekce. |
Metody
| Name | Description |
|---|---|
| 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, zda je zadaný index umístěn 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čuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetEnumerator() |
Vrátí enumerátor, který se použije k iteraci vybrané kolekce indexů. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IndexOf(Int32) |
Vrátí index v rámci ListBox.SelectedIndexCollection zadaného indexu ze zadaného indexu ListBox.ObjectCollectionListBox. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního 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í
| Name | Description |
|---|---|
| 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 naleznete v tématu Contains(Object). |
| IList.IndexOf(Object) |
Popis tohoto člena naleznete v tématu IndexOf(Object). |
| IList.Insert(Int32, Object) |
Popis tohoto člena naleznete v tématu Insert(Int32, Object). |
| IList.IsFixedSize |
Popis tohoto člena naleznete v tématu IsFixedSize. |
| IList.Item[Int32] |
Popis tohoto člena naleznete v tématu Item[Int32]. |
| IList.Remove(Object) |
Popis tohoto člena naleznete v tématu Remove(Object). |
| IList.RemoveAt(Int32) |
Popis tohoto člena naleznete v tématu RemoveAt(Int32). |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |