ListBox.FindStringExact 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 ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt.
Überlädt
FindStringExact(String) |
Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt. |
FindStringExact(String, Int32) |
Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt. Die Suche beginnt an einem bestimmten Startindex. |
FindStringExact(String)
Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt.
public:
int FindStringExact(System::String ^ s);
public int FindStringExact (string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (s As String) As Integer
Parameter
- s
- String
Der zu suchende Text.
Gibt zurück
Der nullbasierte Index des ersten gefundenen Elements. Wenn keine Übereinstimmung gefunden wurde, wird ListBox.NoMatches
zurückgegeben.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe der ListBox.FindStringExact Methode ein Steuerelement nach einem ListBox Element durchsuchen, das genau einer angegebenen Zeichenfolge entspricht. Wenn keine Elemente gefunden werden, die mit der Suchzeichenfolge übereinstimmen, FindStringExact wird ein -1-Wert zurückgegeben, und das Beispiel zeigt eine MessageBox. Wenn ein Element gefunden wird, das dem Suchtext entspricht, verwendet das Beispiel die SetSelected Methode, um das Element in der ListBox.
private:
void FindMySpecificString( 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->FindStringExact( searchString );
// Determine if a valid index is returned. Select the item if it is valid.
if ( index != ListBox::NoMatches )
listBox1->SetSelected( index, true );
else
MessageBox::Show( "The search string did not find any items in the ListBox that exactly match the specified search string" );
}
}
private void FindMySpecificString(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.FindStringExact(searchString);
// Determine if a valid index is returned. Select the item if it is valid.
if (index != ListBox.NoMatches)
listBox1.SetSelected(index,true);
else
MessageBox.Show("The search string did not find any items in the ListBox that exactly match the specified search string");
}
}
Private Sub FindMySpecificString(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.FindStringExact(searchString)
' Determine if a valid index is returned. Select the item if it is valid.
If index <> ListBox.NoMatches Then
listBox1.SetSelected(index, True)
Else
MessageBox.Show("The search string did not find any items in the ListBox that exactly match the specified search string")
End If
End If
End Sub
Hinweise
Die suche, die von dieser Methode ausgeführt wird, ist nicht groß- und kleinschreibungsempfindlich. Die Suche sucht nach einer genauen Übereinstimmung mit den Wörtern, die im Suchzeichenfolgenparameter angegeben sind. s
Sie können diese Methode verwenden, um nach dem ersten Element zu suchen, das der angegebenen Zeichenfolge entspricht. Anschließend können Sie Aufgaben ausführen, z. B. das Entfernen des Elements, das den Suchtext enthält, mithilfe der Remove Methode oder ändern des Texts des Elements. Wenn Sie nach anderen Instanzen des Texts im Text suchen möchten, können Sie die Version der FindStringExact Methode verwenden, die einen Parameter zum Angeben eines Startindexes in ListBoxder ListBox. Wenn Sie die Teilwortsuche anstelle einer genauen Wortzustimmung ausführen möchten, verwenden Sie die FindString Methode.
Siehe auch
Gilt für
FindStringExact(String, Int32)
Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt. Die Suche beginnt an einem bestimmten Startindex.
public:
int FindStringExact(System::String ^ s, int startIndex);
public int FindStringExact (string s, int startIndex);
member this.FindStringExact : string * int -> int
Public Function FindStringExact (s As String, startIndex As Integer) As Integer
Parameter
- s
- String
Der zu suchende Text.
- startIndex
- Int32
Der nullbasierte Index des Elements vor dem ersten zu durchsuchenden Element. Legen Sie -1 fest, um die Suche am Anfang des Steuerelements zu beginnen.
Gibt zurück
Der nullbasierte Index des ersten gefundenen Elements. Wenn keine Übereinstimmung gefunden wurde, wird ListBox.NoMatches
zurückgegeben.
Ausnahmen
Der startIndex
-Parameter ist kleiner als 0 (null) bzw. größer oder gleich dem Wert der Count-Eigenschaft der ListBox.ObjectCollection-Klasse.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe der FindStringExact Methode nach allen Elementen in einem ListBox Element suchen, das genau mit dem angegebenen Suchtext übereinstimmt. Im Beispiel wird die Version der Methode verwendet, mit der FindStringExact 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 bestimmen können, wann die FindStringExact 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 FindAllOfMyExactStrings( 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->FindStringExact( searchString, x );
// If no item is found that matches exit.
if ( x != -1 )
{
// Since the FindStringExact 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 FindAllOfMyExactStrings(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.FindStringExact(searchString, x);
// If no item is found that matches exit.
if (x != -1)
{
// Since the FindStringExact 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 FindAllOfMyExactStrings(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.FindStringExact(searchString, x)
' If no item is found that matches exit.
If x <> -1 Then
' Since the FindStringExact 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 suche, die von dieser Methode ausgeführt wird, ist nicht groß- und kleinschreibungsempfindlich. Die Suche sucht nach Wörtern, die genau dem angegebenen Suchzeichenfolgenparameter entsprechen, s
. Sie können diese Methode verwenden, um nach dem ersten Element zu suchen, das der angegebenen Zeichenfolge am angegebenen Startindex innerhalb der Liste der Elemente für die ListBox. Anschließend können Sie Aufgaben ausführen, z. B. das Entfernen des Elements, das den Suchtext mit der Remove Methode enthält, oder den Text des Elements ändern. Diese Methode wird in der Regel verwendet, nachdem ein Aufruf mit der Version dieser Methode ausgeführt wurde, die keinen Startindex angibt. Sobald ein erstes 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 angegeben wird, nachdem die erste gefundene Instanz des Suchtexts gefunden wurde. Wenn Sie anstelle einer genauen Wortgleichung eine Teilwortsuche durchführen möchten, verwenden Sie die FindString Methode.
Hinweis
Wenn die Suche den unteren Rand des ListBoxObjekts erreicht, wird die Suche vom oberen Rand des Elements nach dem ListBox durch den startIndex
Parameter angegebenen Element fortgesetzt.