ListBox.SelectedIndices Eigenschaft
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.
Ruft eine Auflistung ab, die die nullbasierten Indizes aller derzeit ausgewählten Elemente in der ListBox enthält.
public:
property System::Windows::Forms::ListBox::SelectedIndexCollection ^ SelectedIndices { System::Windows::Forms::ListBox::SelectedIndexCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListBox.SelectedIndexCollection SelectedIndices { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndices : System.Windows.Forms.ListBox.SelectedIndexCollection
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection
Eigenschaftswert
Eine ListBox.SelectedIndexCollection, die die Indizes der derzeit im Steuerelement ausgewählten Elemente enthält. Wenn gegenwärtig keine Elemente ausgewählt sind, wird eine leere ListBox.SelectedIndexCollection zurückgegeben.
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die FindString Methode verwendet wird, um nach allen Instanzen des Suchtexts in den Elementen des Suchtexts ListBoxzu 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
Bei einer Mehrfachauswahl ListBoxgibt diese Eigenschaft eine Auflistung zurück, die die Indizes für alle Elemente enthält, die in der ListBoxDatei ausgewählt sind. Bei einer einzelauswahl ListBoxgibt diese Eigenschaft eine Auflistung zurück, die ein einzelnes Element enthält, das den Index des einzigen ausgewählten Elements im .ListBox Weitere Informationen zum Bearbeiten der Elemente der Auflistung finden Sie unter ListBox.SelectedIndexCollection.
Die ListBox Klasse bietet eine Reihe von Möglichkeiten, auf ausgewählte Elemente zu verweisen. Anstatt die Eigenschaft zum Abrufen der SelectedIndices Indexposition des aktuell ausgewählten Elements in einer einzelauswahl ListBoxabzurufen, können Sie die SelectedIndex Eigenschaft verwenden. Wenn Sie das Element abrufen möchten, das derzeit in der ListBoxIndexposition des Elements ausgewählt ist, verwenden Sie die SelectedItem Eigenschaft. Darüber hinaus können Sie die SelectedItems Eigenschaft verwenden, wenn Sie alle ausgewählten Elemente in einer Mehrfachauswahl ListBoxabrufen möchten.