ListBox.FindStringExact Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Recherche le premier élément dans ListBox qui correspond exactement à la chaîne spécifiée.
Surcharges
FindStringExact(String) |
Recherche le premier élément dans ListBox qui correspond exactement à la chaîne spécifiée. |
FindStringExact(String, Int32) |
Recherche le premier élément dans ListBox qui correspond exactement à la chaîne spécifiée. La recherche commence à un index de départ spécifique. |
FindStringExact(String)
Recherche le premier élément dans ListBox qui correspond exactement à la chaîne spécifiée.
public:
int FindStringExact(System::String ^ s);
public int FindStringExact (string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (s As String) As Integer
Paramètres
- s
- String
Texte à rechercher.
Retours
Index de base zéro du premier élément trouvé ; retourne ListBox.NoMatches
si aucune correspondance n'est trouvée.
Exemples
L’exemple de code suivant montre comment utiliser la ListBox.FindStringExact méthode pour rechercher un contrôle pour un ListBox élément qui correspond exactement à une chaîne spécifiée. Si aucun élément n’est trouvé qui correspond à la chaîne de recherche, FindStringExact retourne une valeur -1 et l’exemple affiche un MessageBox. Si un élément est trouvé qui correspond au texte de recherche, l’exemple utilise la SetSelected méthode pour sélectionner l’élément dans le 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
Remarques
La recherche effectuée par cette méthode n’est pas sensible à la casse. La recherche recherche recherche une correspondance exacte aux mots spécifiés dans le paramètre de chaîne de recherche. s
Vous pouvez utiliser cette méthode pour rechercher le premier élément qui correspond à la chaîne spécifiée. Vous pouvez ensuite effectuer des tâches telles que la suppression de l’élément qui contient le texte de recherche à l’aide de la Remove méthode ou la modification du texte de l’élément. Une fois que vous avez trouvé le texte spécifié, si vous souhaitez rechercher d’autres instances du texte dans le ListBox, vous pouvez utiliser la version de la FindStringExact méthode qui fournit un paramètre pour spécifier un index de départ dans le ListBox. Si vous souhaitez effectuer une recherche partielle de mots au lieu d’une correspondance exacte de mot, utilisez la FindString méthode.
Voir aussi
S’applique à
FindStringExact(String, Int32)
Recherche le premier élément dans ListBox qui correspond exactement à la chaîne spécifiée. La recherche commence à un index de départ spécifique.
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
Paramètres
- s
- String
Texte à rechercher.
- startIndex
- Int32
Index de base zéro de l'élément précédant le premier élément sur lequel la recherche est effectuée. Affectez la valeur -1 pour rechercher à partir du début du contrôle.
Retours
Index de base zéro du premier élément trouvé ; retourne ListBox.NoMatches
si aucune correspondance n'est trouvée.
Exceptions
Le paramètre startIndex
est inférieur à zéro ou supérieur ou égal à la valeur de la propriété Count de la classe ListBox.ObjectCollection.
Exemples
L’exemple de code suivant montre comment utiliser la FindStringExact méthode pour rechercher tous les éléments dans un ListBox texte de recherche qui correspond exactement au texte de recherche spécifié. L’exemple utilise la version de la FindStringExact méthode qui vous permet de spécifier un index de recherche de départ à partir duquel effectuer une recherche continue de tous les éléments dans le ListBox. L’exemple montre également comment déterminer quand la FindStringExact méthode commence à effectuer une recherche en haut de la liste une fois qu’elle atteint le bas de la liste des éléments, pour empêcher une recherche récursive. Une fois que les éléments sont trouvés dans le , ils sont sélectionnés à l’aide ListBoxde la SetSelected méthode.
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
Remarques
La recherche effectuée par cette méthode n’est pas sensible à la casse. La recherche recherche recherche des mots qui correspondent exactement au paramètre de chaîne de recherche spécifié, s
. Vous pouvez utiliser cette méthode pour rechercher le premier élément qui correspond à la chaîne spécifiée à l’index de départ spécifié dans la liste des éléments pour le ListBox. Vous pouvez ensuite effectuer des tâches telles que la suppression de l’élément qui contient le texte de recherche à l’aide de la Remove méthode ou modifier le texte de l’élément. Cette méthode est généralement utilisée après qu’un appel a été effectué à l’aide de la version de cette méthode qui ne spécifie pas d’index de départ. Une fois qu’un élément initial a été trouvé dans la liste, cette méthode est généralement utilisée pour rechercher d’autres instances du texte de recherche en spécifiant la position d’index dans le startIndex
paramètre de l’élément après la première instance trouvée du texte de recherche. Si vous souhaitez effectuer une recherche partielle de mots au lieu d’une correspondance exacte de mot, utilisez la FindString méthode.
Notes
Lorsque la recherche atteint le bas du ListBoxfichier , elle continue de rechercher du haut du ListBox dos à l’élément spécifié par le startIndex
paramètre.