Compartir a través de


ListBox.FindStringExact Método

Definición

Busca el primer elemento del control ListBox que coincida exactamente con la cadena especificada.

Sobrecargas

FindStringExact(String)

Busca el primer elemento del control ListBox que coincida exactamente con la cadena especificada.

FindStringExact(String, Int32)

Busca el primer elemento del control ListBox que coincida exactamente con la cadena especificada. La búsqueda comienza en un índice de inicio específico.

FindStringExact(String)

Busca el primer elemento del control ListBox que coincida exactamente con la cadena especificada.

public:
 int FindStringExact(System::String ^ s);
public int FindStringExact (string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (s As String) As Integer

Parámetros

s
String

Texto que se va a buscar.

Devoluciones

Índice de base cero del primer elemento encontrado; devuelve ListBox.NoMatches si no se encuentra ninguna coincidencia.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el ListBox.FindStringExact método para buscar un ListBox control de un elemento que coincida exactamente con una cadena especificada. Si no se encuentra ningún elemento que coincida con la cadena de búsqueda, FindStringExact devuelve un valor -1 y el ejemplo muestra un MessageBox. Si se encuentra un elemento que coincide con el texto de búsqueda, en el ejemplo se usa el SetSelected método para seleccionar el elemento en .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

Comentarios

La búsqueda realizada por este método no distingue mayúsculas de minúsculas. La búsqueda busca una coincidencia exacta con las palabras especificadas en el parámetro de cadena de búsqueda, s. Puede usar este método para buscar el primer elemento que coincida con la cadena especificada. A continuación, puede realizar tareas como quitar el elemento que contiene el texto de búsqueda mediante el Remove método o cambiar el texto del elemento. Una vez que haya encontrado el texto especificado, si desea buscar otras instancias del texto en ListBox, puede usar la versión del FindStringExact método que proporciona un parámetro para especificar un índice inicial dentro de ListBox. Si desea realizar una búsqueda parcial de palabras en lugar de una coincidencia exacta de palabras, use el FindString método .

Consulte también

Se aplica a

FindStringExact(String, Int32)

Busca el primer elemento del control ListBox que coincida exactamente con la cadena especificada. La búsqueda comienza en un índice de inicio específico.

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

Parámetros

s
String

Texto que se va a buscar.

startIndex
Int32

Índice de base cero del elemento situado delante del primer elemento que se va a buscar. Se establece en el valor uno negativo (-1) para realizar una búsqueda desde el principio del control.

Devoluciones

Índice de base cero del primer elemento encontrado; devuelve ListBox.NoMatches si no se encuentra ninguna coincidencia.

Excepciones

El parámetro startIndex es menor que cero o igual o mayor que el valor de la propiedad Count de la clase ListBox.ObjectCollection.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el FindStringExact método para buscar todos los elementos de un ListBox objeto que coincida exactamente con el texto de búsqueda especificado. En el FindStringExact ejemplo se usa la versión del método que permite especificar un índice de búsqueda inicial desde el que realizar una búsqueda continua de todos los elementos de ListBox. En el ejemplo también se muestra cómo determinar cuándo el FindStringExact método comienza a buscar desde la parte superior de la lista después de llegar a la parte inferior de la lista de elementos, para evitar una búsqueda recursiva. Una vez que los elementos se encuentran en ListBox, se seleccionan mediante el SetSelected método .

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

Comentarios

La búsqueda realizada por este método no distingue mayúsculas de minúsculas. La búsqueda busca palabras que coincidan exactamente con el parámetro de cadena de búsqueda especificado, s. Puede usar este método para buscar el primer elemento que coincida con la cadena especificada en el índice inicial especificado dentro de la lista de elementos de ListBox. A continuación, puede realizar tareas como quitar el elemento que contiene el texto de búsqueda mediante el Remove método o cambiar el texto del elemento. Este método se usa normalmente después de realizar una llamada mediante la versión de este método que no especifica un índice inicial. Una vez que se ha encontrado un elemento inicial en la lista, este método se usa normalmente para buscar más instancias del texto de búsqueda especificando la posición de índice en el startIndex parámetro del elemento después de la primera instancia encontrada del texto de búsqueda. Si desea realizar una búsqueda parcial de palabras en lugar de una coincidencia exacta de palabras, use el FindString método .

Nota

Cuando la búsqueda llega a la parte inferior de ListBox, continúa buscando desde la parte superior del ListBox elemento especificado por el startIndex parámetro .

Consulte también

Se aplica a