ListBox.FindString Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Trova il primo elemento nel controllo ListBox che inizia con la stringa specificata.
Overload
FindString(String) |
Trova il primo elemento nel controllo ListBox che inizia con la stringa specificata. |
FindString(String, Int32) |
Trova il primo elemento nel controllo ListBox che inizia con la stringa specificata. La ricerca ha inizio in corrispondenza dell'indice iniziale specificato. |
FindString(String)
Trova il primo elemento nel controllo ListBox che inizia con la stringa specificata.
public:
int FindString(System::String ^ s);
public int FindString (string s);
member this.FindString : string -> int
Public Function FindString (s As String) As Integer
Parametri
- s
- String
Testo da cercare.
Restituisce
Indice in base zero del primo elemento trovato; restituisce ListBox.NoMatches
se non viene trovata alcuna corrispondenza.
Eccezioni
Il valore del parametro s
è minore di -1 oppure maggiore o uguale al conteggio degli elementi.
Esempio
Nell'esempio di codice seguente viene illustrato come usare il FindString metodo per cercare la prima istanza di una stringa in un ListBoxoggetto . Se non vengono trovati elementi che corrispondono alla stringa FindString di ricerca restituisce un valore -1 e l'esempio visualizza un MessageBoxoggetto . Se viene trovato un elemento corrispondente al testo di ricerca, nell'esempio viene usato il SetSelected metodo per selezionare l'elemento nell'oggetto 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
Commenti
La ricerca eseguita da questo metodo non è distinzione tra maiuscole e minuscole. La ricerca cerca parole che corrispondono parzialmente al parametro stringa di ricerca specificato, s
. È possibile usare questo metodo per cercare il primo elemento corrispondente alla stringa specificata. È quindi possibile eseguire attività come la rimozione dell'elemento contenente il testo di ricerca usando il metodo o modificando il Remove testo dell'elemento. Dopo aver trovato il testo specificato, se si desidera cercare altre istanze del testo in ListBox, è possibile usare la versione del metodo che fornisce un parametro per specificare un indice iniziale all'interno ListBoxdi FindString . Se si vuole eseguire una ricerca di una corrispondenza esatta di parole anziché una corrispondenza parziale, usare il FindStringExact metodo .
Vedi anche
Si applica a
FindString(String, Int32)
Trova il primo elemento nel controllo ListBox che inizia con la stringa specificata. La ricerca ha inizio in corrispondenza dell'indice iniziale specificato.
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
Parametri
- s
- String
Testo da cercare.
- startIndex
- Int32
Indice in base zero dell'elemento che precede il primo elemento da cercare. Per avviare la ricerca dall'inizio del controllo, impostare su -1.
Restituisce
Indice in base zero del primo elemento trovato; restituisce ListBox.NoMatches
se non viene trovata alcuna corrispondenza.
Eccezioni
Il parametro startIndex
è minore di zero oppure maggiore di o uguale al valore della proprietà Count della classe ListBox.ObjectCollection.
Esempio
Nell'esempio di codice seguente viene illustrato come usare il FindString metodo per cercare tutte le istanze del testo di ricerca negli elementi di ListBox. Nell'esempio FindString viene usata la versione del metodo che consente di specificare un indice di ricerca iniziale da cui eseguire una ricerca continua di tutti gli elementi nell'oggetto ListBox. L'esempio illustra anche come determinare quando il FindString metodo inizia la ricerca dalla parte superiore dell'elenco dopo aver raggiunto la parte inferiore dell'elenco di elementi per impedire una ricerca ricorsiva. Dopo aver trovato elementi nell'oggetto ListBox, vengono selezionati usando il SetSelected metodo .
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
Commenti
La ricerca eseguita da questo metodo non è distinzione tra maiuscole e minuscole. La ricerca cerca parole che corrispondono parzialmente al parametro stringa di ricerca specificato, s
. È possibile usare questo metodo per cercare il primo elemento corrispondente alla stringa specificata all'indice iniziale specificato all'interno dell'elenco di elementi per .ListBox È quindi possibile eseguire attività come la rimozione dell'elemento contenente il testo di ricerca usando il metodo o modificando il Remove testo dell'elemento. Questo metodo viene in genere usato dopo che è stata effettuata una chiamata usando la versione di questo metodo che non specifica un indice iniziale. Dopo aver trovato un elemento iniziale nell'elenco, questo metodo viene in genere usato per trovare altre istanze del testo di ricerca specificando la posizione startIndex
di indice nel parametro dell'elemento dopo la prima istanza del testo di ricerca. Se si vuole eseguire una ricerca di una corrispondenza esatta di parole anziché una corrispondenza parziale, usare il FindStringExact metodo .
Nota
Quando la ricerca raggiunge la parte inferiore di ListBox, continua la ricerca dalla parte superiore del ListBox retro all'elemento specificato dal startIndex
parametro .