ListBox.FindStringExact Metodo

Definizione

Trova il primo elemento nel controllo ListBox che corrisponde esattamente alla stringa specificata.

Overload

FindStringExact(String)

Trova il primo elemento nel controllo ListBox che corrisponde esattamente alla stringa specificata.

FindStringExact(String, Int32)

Trova il primo elemento nel controllo ListBox che corrisponde esattamente alla stringa specificata. La ricerca ha inizio in corrispondenza dell'indice iniziale specificato.

FindStringExact(String)

Trova il primo elemento nel controllo ListBox che corrisponde esattamente alla stringa specificata.

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

Parametri

s
String

Testo da cercare.

Restituisce

Int32

Indice in base zero del primo elemento trovato; restituisce ListBox.NoMatches se non viene trovata alcuna corrispondenza.

Esempio

Nell'esempio di codice seguente viene illustrato come usare il ListBox.FindStringExact metodo per cercare un controllo per un ListBox elemento che corrisponde esattamente a una stringa specificata. Se non viene trovato alcun elemento corrispondente alla stringa di ricerca, FindStringExact restituisce un valore -1 e nell'esempio viene visualizzato un oggetto MessageBox. Se viene trovato un elemento corrispondente al testo di ricerca, nell'esempio viene utilizzato il SetSelected metodo per selezionare l'elemento in 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

Commenti

La ricerca eseguita da questo metodo non fa distinzione tra maiuscole e minuscole. La ricerca cerca una corrispondenza esatta con le parole specificate nel parametro della stringa di ricerca, s. È possibile utilizzare 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 Remove metodo o modificando il testo dell'elemento. Dopo aver trovato il testo specificato, se si desidera cercare altre istanze del testo in ListBox, è possibile usare la versione del FindStringExact metodo che fornisce un parametro per specificare un indice iniziale all'interno di ListBox. Se si desidera eseguire la ricerca parziale delle parole anziché una corrispondenza esatta delle parole, usare il FindString metodo .

Vedi anche

Si applica a

FindStringExact(String, Int32)

Trova il primo elemento nel controllo ListBox che corrisponde esattamente alla stringa specificata. La ricerca ha inizio in corrispondenza dell'indice iniziale specificato.

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

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

Int32

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 utilizzare il FindStringExact metodo per cercare tutti gli elementi di un oggetto ListBox che corrispondono esattamente al testo di ricerca specificato. Nell'esempio viene utilizzata la versione del FindStringExact metodo che consente di specificare un indice di ricerca iniziale da cui eseguire una ricerca continua di tutti gli elementi in ListBox. Nell'esempio viene inoltre illustrato come determinare quando il FindStringExact metodo inizia la ricerca dall'inizio della ricerca dall'inizio dell'elenco dopo che raggiunge la parte inferiore dell'elenco di elementi, per evitare una ricerca ricorsiva. Dopo aver trovato gli elementi in ListBox, vengono selezionati usando il SetSelected metodo .

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

Commenti

La ricerca eseguita da questo metodo non fa distinzione tra maiuscole e minuscole. La ricerca cerca parole che corrispondono esattamente al parametro della stringa di ricerca specificato, s. È possibile utilizzare questo metodo per cercare il primo elemento corrispondente alla stringa specificata in corrispondenza dell'indice iniziale specificato all'interno dell'elenco di elementi per .ListBox È quindi possibile eseguire attività come rimuovere l'elemento contenente il testo di ricerca usando il Remove metodo o modificare il testo dell'elemento. Questo metodo viene in genere utilizzato dopo che è stata effettuata una chiamata utilizzando 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 di indice nel startIndex parametro dell'elemento dopo la prima istanza trovata del testo di ricerca. Se si desidera eseguire una ricerca di parole parziale anziché una corrispondenza esatta delle parole, usare il FindString metodo .

Nota

Quando la ricerca raggiunge la parte inferiore dell'oggetto ListBox, continua la ricerca dalla parte superiore dell'elemento ListBox all'elemento specificato dal startIndex parametro .

Vedi anche

Si applica a