ListBox.FindString Método

Definición

Busca el primer elemento del control ListBox que comience por la cadena especificada.

Sobrecargas

FindString(String)

Busca el primer elemento del control ListBox que comience por la cadena especificada.

FindString(String, Int32)

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

FindString(String)

Busca el primer elemento del control ListBox que comience por la cadena especificada.

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

Excepciones

El valor del parámetro s es menor que -1 o mayor que o igual al número de elementos.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el FindString método para buscar la primera instancia de una cadena en .ListBox Si no se encuentra ningún elemento que coincida con la cadena FindString de búsqueda 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 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

Comentarios

La búsqueda realizada por este método no distingue mayúsculas de minúsculas. La búsqueda busca palabras que coincidan parcialmente 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. 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 FindString método que proporciona un parámetro para especificar un índice inicial dentro de ListBox. Si desea realizar una búsqueda de una coincidencia exacta de palabras en lugar de una coincidencia parcial, use el FindStringExact método .

Consulte también

Se aplica a

FindString(String, Int32)

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

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

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 FindString método para buscar todas las instancias del texto de búsqueda en los elementos de ListBox. En el FindString 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 comienza la búsqueda el FindString método 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 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

Comentarios

La búsqueda realizada por este método no distingue mayúsculas de minúsculas. La búsqueda busca palabras que coincidan parcialmente 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 de una coincidencia exacta de palabras en lugar de una coincidencia parcial, use el FindStringExact 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