ListBox.FindString Methode
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.
Sucht das erste Element in der ListBox , das mit der angegebenen Zeichenfolge beginnt.
Überlädt
| Name | Beschreibung |
|---|---|
| FindString(String) |
Sucht das erste Element in der ListBox , das mit der angegebenen Zeichenfolge beginnt. |
| FindString(String, Int32) |
Sucht das erste Element in der ListBox , das mit der angegebenen Zeichenfolge beginnt. Die Suche beginnt mit einem bestimmten Anfangsindex. |
FindString(String)
Sucht das erste Element in der ListBox , das mit der angegebenen Zeichenfolge beginnt.
public:
int FindString(System::String ^ s);
public int FindString(string s);
member this.FindString : string -> int
Public Function FindString (s As String) As Integer
Parameter
- s
- String
Der zu suchende Text.
Gibt zurück
Der nullbasierte Index des ersten gefundenen Elements; gibt zurück ListBox.NoMatches , wenn keine Übereinstimmung gefunden wird.
Ausnahmen
Der Wert des s Parameters ist kleiner als -1 oder größer als oder gleich der Elementanzahl.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die FindString Methode zum Suchen nach der ersten Instanz einer Zeichenfolge in einer ListBoxZeichenfolge verwendet wird. Wenn keine Elemente gefunden werden, die mit der Suchzeichenfolge FindString übereinstimmen, wird ein -1 Wert zurückgegeben, und im Beispiel wird ein MessageBox. Wenn ein Element gefunden wird, das dem Suchtext entspricht, verwendet das Beispiel die SetSelected Methode, um das Element in der ListBox.
private:
void FindMyString( String^ searchString )
{
// Ensure we have a proper string to search for.
if ( searchString != String::Empty )
{
// Find the item in the list and store the index to the item.
int index = listBox1->FindString( searchString );
// Determine if a valid index is returned. Select the item if it is valid.
if ( index != -1 )
listBox1->SetSelected( index, true );
else
MessageBox::Show( "The search string did not match any items in the ListBox" );
}
}
private void FindMyString(string searchString)
{
// Ensure we have a proper string to search for.
if (!string.IsNullOrEmpty(searchString))
{
// Find the item in the list and store the index to the item.
int index = listBox1.FindString(searchString);
// Determine if a valid index is returned. Select the item if it is valid.
if (index != -1)
listBox1.SetSelected(index,true);
else
MessageBox.Show("The search string did not match any items in the ListBox");
}
}
Private Sub FindMyString(ByVal searchString As String)
' Ensure we have a proper string to search for.
If searchString <> String.Empty Then
' Find the item in the list and store the index to the item.
Dim index As Integer = listBox1.FindString(searchString)
' Determine if a valid index is returned. Select the item if it is valid.
If index <> -1 Then
listBox1.SetSelected(index, True)
Else
MessageBox.Show("The search string did not match any items in the ListBox")
End If
End If
End Sub
Hinweise
Bei der von dieser Methode durchgeführten Suche wird die Groß-/Kleinschreibung nicht beachtet. Die Suche sucht nach Wörtern, die teilweise mit dem angegebenen Suchzeichenfolgenparameter übereinstimmen, s. Mit dieser Methode können Sie nach dem ersten Element suchen, das der angegebenen Zeichenfolge entspricht. Anschließend können Sie Aufgaben wie das Entfernen des Elements ausführen, das den Suchtext enthält, indem Sie die Remove Methode verwenden oder den Text des Elements ändern. Nachdem Sie den angegebenen Text gefunden haben, können Sie, wenn Sie nach anderen Instanzen des Texts im ListBoxText suchen möchten, die Version der Methode verwenden, die FindString einen Parameter zum Angeben eines Startindex in der ListBox. Wenn Sie eine Suche nach einer exakten Wortabgleichung anstelle einer teilweisen Übereinstimmung durchführen möchten, verwenden Sie die FindStringExact Methode.
Weitere Informationen
Gilt für:
FindString(String, Int32)
Sucht das erste Element in der ListBox , das mit der angegebenen Zeichenfolge beginnt. Die Suche beginnt mit einem bestimmten Anfangsindex.
public:
int FindString(System::String ^ s, int startIndex);
public int FindString(string s, int startIndex);
member this.FindString : string * int -> int
Public Function FindString (s As String, startIndex As Integer) As Integer
Parameter
- s
- String
Der zu suchende Text.
- startIndex
- Int32
Der nullbasierte Index des Elements, bevor das erste Element durchsucht werden soll. Wird auf negative (-1) festgelegt, um ab dem Anfang des Steuerelements zu suchen.
Gibt zurück
Der nullbasierte Index des ersten gefundenen Elements; gibt zurück ListBox.NoMatches , wenn keine Übereinstimmung gefunden wird.
Ausnahmen
Der startIndex Parameter ist kleiner als null oder größer als oder gleich dem Wert der Count Eigenschaft der ListBox.ObjectCollection Klasse.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Methode verwendet wird FindString , um nach allen Instanzen des Suchtexts in den Elementen der Datei 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 in der ListBoxDatei ausgeführt werden soll. Das Beispiel veranschaulicht außerdem, wie Sie bestimmen können, wann die FindString Methode mit der Suche vom Anfang der Liste beginnt, nachdem sie das Ende der Liste der Elemente erreicht hat, um eine rekursive Suche zu verhindern. Sobald Elemente in der ListBoxDatei 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 der von dieser Methode durchgeführten Suche wird die Groß-/Kleinschreibung nicht beachtet. Die Suche sucht nach Wörtern, die teilweise mit dem angegebenen Suchzeichenfolgenparameter übereinstimmen, s. Sie können diese Methode verwenden, um nach dem ersten Element zu suchen, das der angegebenen Zeichenfolge am angegebenen Anfangsindex innerhalb der Liste der Elemente für die ListBox. Anschließend können Sie Aufgaben wie das Entfernen des Elements ausführen, das den Suchtext enthält, indem Sie die Remove Methode verwenden oder den Text des Elements ändern. Diese Methode wird in der Regel verwendet, nachdem ein Aufruf mit der Version dieser Methode erfolgt ist, die keinen Startindex angibt. Sobald ein anfängliches Element in der Liste gefunden wurde, wird diese Methode in der Regel verwendet, um weitere Instanzen des Suchtexts zu finden, indem die Indexposition im startIndex Parameter des Elements nach der ersten gefundenen Instanz des Suchtexts angegeben wird. Wenn Sie eine Suche nach einer exakten Wortabgleichung anstelle einer teilweisen Übereinstimmung durchführen möchten, verwenden Sie die FindStringExact Methode.
Note
Wenn die Suche den unteren Rand des ListBoxSuchvorgangs erreicht, wird die Suche von oben ListBox nach dem durch den startIndex Parameter angegebenen Element fortgesetzt.