ListBox.FindString Methode

Definitie

Hiermee zoekt u het eerste item in de ListBox tekenreeks die begint met de opgegeven tekenreeks.

Overloads

Name Description
FindString(String)

Hiermee zoekt u het eerste item in de ListBox tekenreeks die begint met de opgegeven tekenreeks.

FindString(String, Int32)

Hiermee zoekt u het eerste item in de ListBox tekenreeks die begint met de opgegeven tekenreeks. De zoekopdracht begint bij een specifieke beginindex.

FindString(String)

Bron:
ListBox.cs
Bron:
ListBox.cs
Bron:
ListBox.cs
Bron:
ListBox.cs
Bron:
ListBox.cs

Hiermee zoekt u het eerste item in de ListBox tekenreeks die begint met de opgegeven tekenreeks.

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

Parameters

s
String

De te zoeken tekst.

Retouren

De op nul gebaseerde index van het eerste gevonden item; retourneert ListBox.NoMatches als er geen overeenkomst is gevonden.

Uitzonderingen

De waarde van de s parameter is kleiner dan -1 of groter dan of gelijk aan het aantal items.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de FindString methode gebruikt om te zoeken naar het eerste exemplaar van een tekenreeks in een ListBox. Als er geen items worden gevonden die overeenkomen met de zoekreeks FindString , wordt een -1 waarde geretourneerd en wordt in het voorbeeld een MessageBox. Als er een item wordt gevonden dat overeenkomt met de zoektekst, gebruikt het voorbeeld de SetSelected methode om het item in het ListBoxitem te selecteren.

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

Opmerkingen

De zoekopdracht die door deze methode wordt uitgevoerd, is niet hoofdlettergevoelig. De zoekopdracht zoekt naar woorden die gedeeltelijk overeenkomen met de opgegeven parameter voor de zoekreeks, s. U kunt deze methode gebruiken om te zoeken naar het eerste item dat overeenkomt met de opgegeven tekenreeks. Vervolgens kunt u taken uitvoeren, zoals het verwijderen van het item dat de zoektekst bevat met behulp van de Remove methode of het wijzigen van de tekst van het item. Zodra u de opgegeven tekst hebt gevonden, kunt u, als u wilt zoeken naar andere exemplaren van de tekst in de ListBoxtekst, de versie van de FindString methode gebruiken die een parameter biedt voor het opgeven van een beginindex binnen de ListBox. Als u een zoekopdracht wilt uitvoeren naar een exacte woordovereenkomst in plaats van een gedeeltelijke overeenkomst, gebruikt u de FindStringExact methode.

Zie ook

Van toepassing op

FindString(String, Int32)

Bron:
ListBox.cs
Bron:
ListBox.cs
Bron:
ListBox.cs
Bron:
ListBox.cs
Bron:
ListBox.cs

Hiermee zoekt u het eerste item in de ListBox tekenreeks die begint met de opgegeven tekenreeks. De zoekopdracht begint bij een specifieke beginindex.

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

Parameters

s
String

De te zoeken tekst.

startIndex
Int32

De op nul gebaseerde index van het item voordat het eerste item moet worden doorzocht. Ingesteld op een negatief (-1) om te zoeken vanaf het begin van het besturingselement.

Retouren

De op nul gebaseerde index van het eerste gevonden item; retourneert ListBox.NoMatches als er geen overeenkomst is gevonden.

Uitzonderingen

De startIndex parameter is kleiner dan nul of groter dan of gelijk aan de waarde van de Count eigenschap van de ListBox.ObjectCollection klasse.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de FindString methode gebruikt om te zoeken naar alle exemplaren van de zoektekst in de items van de ListBox. In het voorbeeld wordt de versie van de FindString methode gebruikt waarmee u een beginzoekindex kunt opgeven waaruit u voortdurend alle items in het ListBoxbestand kunt doorzoeken. In het voorbeeld ziet u ook hoe u kunt bepalen wanneer de FindString methode begint met zoeken vanaf de bovenkant van de lijst nadat deze de onderkant van de lijst met items heeft bereikt om recursieve zoekopdrachten te voorkomen. Zodra items in de ListBoxitems zijn gevonden, worden ze geselecteerd met behulp van de SetSelected methode.

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

Opmerkingen

De zoekopdracht die door deze methode wordt uitgevoerd, is niet hoofdlettergevoelig. De zoekopdracht zoekt naar woorden die gedeeltelijk overeenkomen met de opgegeven parameter voor de zoekreeks, s. U kunt deze methode gebruiken om te zoeken naar het eerste item dat overeenkomt met de opgegeven tekenreeks bij de opgegeven beginindex in de lijst met items voor de ListBox. Vervolgens kunt u taken uitvoeren, zoals het verwijderen van het item dat de zoektekst bevat met behulp van de Remove methode of het wijzigen van de tekst van het item. Deze methode wordt meestal gebruikt nadat een aanroep is uitgevoerd met behulp van de versie van deze methode die geen beginindex opgeeft. Zodra een eerste item in de lijst is gevonden, wordt deze methode meestal gebruikt om meer exemplaren van de zoektekst te vinden door de indexpositie op te geven in de startIndex parameter van het item na het eerste gevonden exemplaar van de zoektekst. Als u een zoekopdracht wilt uitvoeren naar een exacte woordovereenkomst in plaats van een gedeeltelijke overeenkomst, gebruikt u de FindStringExact methode.

Note

Wanneer de zoekopdracht de onderkant van de ListBoxzoekopdracht bereikt, wordt vanaf de bovenkant van de ListBox back verder gezocht naar het item dat is opgegeven door de startIndex parameter.

Zie ook

Van toepassing op