ListBox.FindStringExact Metod

Definition

Hittar det första objektet i ListBox som exakt matchar den angivna strängen.

Överlagringar

Name Description
FindStringExact(String)

Hittar det första objektet i ListBox som exakt matchar den angivna strängen.

FindStringExact(String, Int32)

Hittar det första objektet i ListBox som exakt matchar den angivna strängen. Sökningen startar vid ett specifikt startindex.

FindStringExact(String)

Källa:
ListBox.cs
Källa:
ListBox.cs
Källa:
ListBox.cs
Källa:
ListBox.cs
Källa:
ListBox.cs

Hittar det första objektet i ListBox som exakt matchar den angivna strängen.

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

Parametrar

s
String

Texten som ska sökas efter.

Returer

Det nollbaserade indexet för det första objektet hittades. returnerar ListBox.NoMatches om ingen matchning hittas.

Exempel

Följande kodexempel visar hur du använder ListBox.FindStringExact metoden för att söka efter ett ListBox objekt som exakt matchar en angiven sträng. Om inga objekt hittas som matchar söksträngen FindStringExact returnerar ett -1 värde och exemplet visar ett MessageBox. Om ett objekt hittas som matchar söktexten använder SetSelected exemplet metoden för att välja objektet i 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

Kommentarer

Sökningen som utförs med den här metoden är inte skiftlägeskänslig. Sökningen söker efter en exakt matchning mot de ord som anges i söksträngsparametern , s. Du kan använda den här metoden för att söka efter det första objektet som matchar den angivna strängen. Du kan sedan utföra uppgifter som att ta bort objektet som innehåller söktexten Remove med hjälp av metoden eller ändra objektets text. När du har hittat den angivna texten kan du, om du vill söka efter andra instanser av texten i ListBox, använda den version av FindStringExact metoden som innehåller en parameter för att ange ett startindex i ListBox. Om du vill utföra partiell ordsökning i stället för en exakt ordmatchning använder du FindString metoden.

Se även

Gäller för

FindStringExact(String, Int32)

Källa:
ListBox.cs
Källa:
ListBox.cs
Källa:
ListBox.cs
Källa:
ListBox.cs
Källa:
ListBox.cs

Hittar det första objektet i ListBox som exakt matchar den angivna strängen. Sökningen startar vid ett specifikt startindex.

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

Parametrar

s
String

Texten som ska sökas efter.

startIndex
Int32

Det nollbaserade indexet för objektet före det första objektet som ska sökas igenom. Ställ in på negativ (-1) för att söka från början av kontrollen.

Returer

Det nollbaserade indexet för det första objektet hittades. returnerar ListBox.NoMatches om ingen matchning hittas.

Undantag

Parametern startIndex är mindre än noll eller större än eller lika med värdet för Count egenskapen för ListBox.ObjectCollection klassen.

Exempel

Följande kodexempel visar hur du använder FindStringExact metoden för att söka efter alla objekt i en ListBox som exakt matchar den angivna söktexten. I exemplet används den version av FindStringExact metoden som gör att du kan ange ett startsökindex från vilket du kan göra en kontinuerlig sökning av alla objekt i ListBox. Exemplet visar också hur du avgör när FindStringExact metoden börjar söka överst i listan när den når längst ned i listan med objekt för att förhindra en rekursiv sökning. När objekten hittas i väljs ListBoxde med hjälp av SetSelected metoden .

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

Kommentarer

Sökningen som utförs med den här metoden är inte skiftlägeskänslig. Sökningen söker efter ord som exakt matchar den angivna söksträngsparametern, s. Du kan använda den här metoden för att söka efter det första objektet som matchar den angivna strängen vid det angivna startindexet i listan med objekt för ListBox. Du kan sedan utföra uppgifter som att ta bort objektet som innehåller söktexten Remove med hjälp av metoden eller ändra objektets text. Den här metoden används vanligtvis när ett anrop har gjorts med den version av den här metoden som inte anger något startindex. När ett första objekt har hittats i listan används den här metoden vanligtvis för att hitta ytterligare instanser av söktexten genom att ange indexpositionen i parametern startIndex för objektet efter den första identifierade instansen av söktexten. Om du vill utföra en partiell ordsökning i stället för en exakt ordmatchning använder du FindString metoden.

Note

När sökningen når botten av ListBoxfortsätter sökningen överst ListBox på baksidan till det objekt som anges av parametern startIndex .

Se även

Gäller för