ListBox.FindStringExact Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 .