Partager via


ListBox.FindString Méthode

Définition

Recherche le premier élément dans ListBox qui commence par la chaîne spécifiée.

Surcharges

FindString(String)

Recherche le premier élément dans ListBox qui commence par la chaîne spécifiée.

FindString(String, Int32)

Recherche le premier élément dans ListBox qui commence par la chaîne spécifiée. La recherche commence à un index de départ spécifique.

FindString(String)

Recherche le premier élément dans ListBox qui commence par la chaîne spécifiée.

public:
 int FindString(System::String ^ s);
public int FindString (string s);
member this.FindString : string -> int
Public Function FindString (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.

Exceptions

La valeur du paramètre s est inférieure à -1 ou supérieure ou égale au nombre d'éléments.

Exemples

L’exemple de code suivant montre comment utiliser la FindString méthode pour rechercher la première instance d’une chaîne dans un ListBox. Si aucun élément qui correspond à la chaîne FindString de recherche retourne une valeur -1 et que l’exemple affiche un MessageBox. Si un élément correspondant au texte de recherche est trouvé, l’exemple utilise la SetSelected méthode pour sélectionner l’élément dans le 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

Remarques

La recherche effectuée par cette méthode ne respecte pas la casse. La recherche recherche les mots qui correspondent partiellement 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. 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 , ListBoxvous pouvez utiliser la version de la FindString méthode qui fournit un paramètre pour spécifier un index de départ dans le ListBox. Si vous souhaitez effectuer une recherche pour une correspondance exacte des mots au lieu d’une correspondance partielle, utilisez la FindStringExact méthode .

Voir aussi

S’applique à

FindString(String, Int32)

Recherche le premier élément dans ListBox qui commence par la chaîne spécifiée. La recherche commence à un index de départ spécifique.

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

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 FindString méthode pour rechercher toutes les instances du texte de recherche dans les éléments du ListBox. L’exemple utilise la version de la FindString 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 FindString méthode commence à rechercher en haut de la liste une fois qu’elle a atteint le bas de la liste d’éléments pour empêcher une recherche récursive. Une fois que les éléments sont trouvés dans , ListBoxils sont sélectionnés à l’aide de la SetSelected méthode .

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

Remarques

La recherche effectuée par cette méthode ne respecte pas la casse. La recherche recherche les mots qui correspondent partiellement 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 du 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 la modification du 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 pour une correspondance exacte des mots au lieu d’une correspondance partielle, utilisez la FindStringExact méthode .

Notes

Lorsque la recherche atteint le bas du , elle poursuit la ListBoxrecherche du haut de l’élément ListBox vers l’élément spécifié par le startIndex paramètre .

Voir aussi

S’applique à