ListBox.SelectedIndexCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |