ListBox.FindStringExact Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee zoekt u het eerste item in de ListBox tekenreeks die exact overeenkomt met de opgegeven tekenreeks.
Overloads
| Name | Description |
|---|---|
| FindStringExact(String) |
Hiermee zoekt u het eerste item in de ListBox tekenreeks die exact overeenkomt met de opgegeven tekenreeks. |
| FindStringExact(String, Int32) |
Hiermee zoekt u het eerste item in de ListBox tekenreeks die exact overeenkomt met de opgegeven tekenreeks. De zoekopdracht begint bij een specifieke beginindex. |
FindStringExact(String)
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
Hiermee zoekt u het eerste item in de ListBox tekenreeks die exact overeenkomt met de opgegeven tekenreeks.
public:
int FindStringExact(System::String ^ s);
public int FindStringExact(string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (s As String) As Integer
Parameters
- s
- String
De te zoeken tekst.
Retouren
De op nul gebaseerde index van het eerste gevonden item; retourneert ListBox.NoMatches als er geen overeenkomst is gevonden.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de ListBox.FindStringExact methode gebruikt om een ListBox besturingselement te doorzoeken op een item dat exact overeenkomt met een opgegeven tekenreeks. Als er geen items worden gevonden die overeenkomen met de zoekreeks, FindStringExact wordt een -1 waarde geretourneerd en wordt in het voorbeeld een MessageBox. Als er een item wordt gevonden dat overeenkomt met de zoektekst, gebruikt het voorbeeld de SetSelected methode om het item in het ListBoxitem te selecteren.
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
Opmerkingen
De zoekopdracht die door deze methode wordt uitgevoerd, is niet hoofdlettergevoelig. De zoekopdracht zoekt naar een exacte overeenkomst met de woorden die zijn opgegeven in de zoekreeksparameter. s U kunt deze methode gebruiken om te zoeken naar het eerste item dat overeenkomt met de opgegeven tekenreeks. Vervolgens kunt u taken uitvoeren, zoals het verwijderen van het item dat de zoektekst bevat met behulp van de Remove methode of het wijzigen van de tekst van het item. Zodra u de opgegeven tekst hebt gevonden, kunt u, als u wilt zoeken naar andere exemplaren van de tekst in de ListBoxtekst, de versie van de FindStringExact methode gebruiken die een parameter biedt voor het opgeven van een beginindex binnen de ListBox. Als u gedeeltelijke woordenzoekopdrachten wilt uitvoeren in plaats van een exacte woordovereenkomst, gebruikt u de FindString methode.
Zie ook
Van toepassing op
FindStringExact(String, Int32)
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
- Bron:
- ListBox.cs
Hiermee zoekt u het eerste item in de ListBox tekenreeks die exact overeenkomt met de opgegeven tekenreeks. De zoekopdracht begint bij een specifieke beginindex.
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
Parameters
- s
- String
De te zoeken tekst.
- startIndex
- Int32
De op nul gebaseerde index van het item voordat het eerste item moet worden doorzocht. Ingesteld op een negatief (-1) om te zoeken vanaf het begin van het besturingselement.
Retouren
De op nul gebaseerde index van het eerste gevonden item; retourneert ListBox.NoMatches als er geen overeenkomst is gevonden.
Uitzonderingen
De startIndex parameter is kleiner dan nul of groter dan of gelijk aan de waarde van de Count eigenschap van de ListBox.ObjectCollection klasse.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de FindStringExact methode gebruikt om te zoeken naar alle items in een ListBox item dat exact overeenkomt met de opgegeven zoektekst. In het voorbeeld wordt de versie van de FindStringExact methode gebruikt waarmee u een beginzoekindex kunt opgeven waaruit u voortdurend alle items in het ListBoxbestand kunt doorzoeken. In het voorbeeld ziet u ook hoe u kunt bepalen wanneer de FindStringExact methode begint met zoeken vanaf de bovenkant van de lijst nadat deze de onderkant van de lijst met items heeft bereikt, om recursieve zoekopdrachten te voorkomen. Zodra items in de ListBoxitems zijn gevonden, worden ze geselecteerd met behulp van de SetSelected methode.
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
Opmerkingen
De zoekopdracht die door deze methode wordt uitgevoerd, is niet hoofdlettergevoelig. De zoekopdracht zoekt naar woorden die exact overeenkomen met de opgegeven parameter voor de zoekreeks, s. U kunt deze methode gebruiken om te zoeken naar het eerste item dat overeenkomt met de opgegeven tekenreeks bij de opgegeven beginindex in de lijst met items voor de ListBox. Vervolgens kunt u taken uitvoeren, zoals het verwijderen van het item dat de zoektekst bevat met behulp van de Remove methode of het wijzigen van de tekst van het item. Deze methode wordt meestal gebruikt nadat een aanroep is uitgevoerd met behulp van de versie van deze methode die geen beginindex opgeeft. Zodra een eerste item in de lijst is gevonden, wordt deze methode meestal gebruikt om meer exemplaren van de zoektekst te vinden door de indexpositie op te geven in de startIndex parameter van het item na het eerste gevonden exemplaar van de zoektekst. Als u een gedeeltelijke woordzoekopdracht wilt uitvoeren in plaats van een exacte woordovereenkomst, gebruikt u de FindString methode.
Note
Wanneer de zoekopdracht de onderkant van de ListBoxzoekopdracht bereikt, wordt vanaf de bovenkant van de ListBox back verder gezocht naar het item dat is opgegeven door de startIndex parameter.