Freigeben über


ListBox.FindStringExact Methode

Definition

Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt.

Überlädt

FindStringExact(String)

Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt.

FindStringExact(String, Int32)

Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt. Die Suche beginnt an einem bestimmten Startindex.

FindStringExact(String)

Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt.

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

Parameter

s
String

Der zu suchende Text.

Gibt zurück

Int32

Der nullbasierte Index des ersten gefundenen Elements. Wenn keine Übereinstimmung gefunden wurde, wird ListBox.NoMatches zurückgegeben.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe der ListBox.FindStringExact Methode ein Steuerelement nach einem ListBox Element durchsuchen, das genau einer angegebenen Zeichenfolge entspricht. Wenn keine Elemente gefunden werden, die mit der Suchzeichenfolge übereinstimmen, FindStringExact wird ein -1-Wert zurückgegeben, und das Beispiel zeigt eine MessageBox. Wenn ein Element gefunden wird, das dem Suchtext entspricht, verwendet das Beispiel die SetSelected Methode, um das Element in der 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

Hinweise

Die suche, die von dieser Methode ausgeführt wird, ist nicht groß- und kleinschreibungsempfindlich. Die Suche sucht nach einer genauen Übereinstimmung mit den Wörtern, die im Suchzeichenfolgenparameter angegeben sind. s Sie können diese Methode verwenden, um nach dem ersten Element zu suchen, das der angegebenen Zeichenfolge entspricht. Anschließend können Sie Aufgaben ausführen, z. B. das Entfernen des Elements, das den Suchtext enthält, mithilfe der Remove Methode oder ändern des Texts des Elements. Wenn Sie nach anderen Instanzen des Texts im Text suchen möchten, können Sie die Version der FindStringExact Methode verwenden, die einen Parameter zum Angeben eines Startindexes in ListBoxder ListBox. Wenn Sie die Teilwortsuche anstelle einer genauen Wortzustimmung ausführen möchten, verwenden Sie die FindString Methode.

Siehe auch

Gilt für

FindStringExact(String, Int32)

Sucht das erste Element in ListBox, das mit der angegebenen Zeichenfolge genau übereinstimmt. Die Suche beginnt an einem bestimmten 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

Parameter

s
String

Der zu suchende Text.

startIndex
Int32

Der nullbasierte Index des Elements vor dem ersten zu durchsuchenden Element. Legen Sie -1 fest, um die Suche am Anfang des Steuerelements zu beginnen.

Gibt zurück

Int32

Der nullbasierte Index des ersten gefundenen Elements. Wenn keine Übereinstimmung gefunden wurde, wird ListBox.NoMatches zurückgegeben.

Ausnahmen

Der startIndex-Parameter ist kleiner als 0 (null) bzw. größer oder gleich dem Wert der Count-Eigenschaft der ListBox.ObjectCollection-Klasse.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe der FindStringExact Methode nach allen Elementen in einem ListBox Element suchen, das genau mit dem angegebenen Suchtext übereinstimmt. Im Beispiel wird die Version der Methode verwendet, mit der FindStringExact Sie einen Startsuchindex angeben können, aus dem eine kontinuierliche Suche aller Elemente im Bereich ListBoxausgeführt werden soll. Im Beispiel wird auch veranschaulicht, wie Sie bestimmen können, wann die FindStringExact Methode mit der Suche von oben in der Liste beginnt, nachdem sie das Ende der Liste der Elemente erreicht hat, um eine rekursive Suche zu verhindern. Sobald Elemente im ListBoxKontrollkästchen gefunden wurden, werden sie mithilfe der SetSelected Methode ausgewählt.

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

Hinweise

Die suche, die von dieser Methode ausgeführt wird, ist nicht groß- und kleinschreibungsempfindlich. Die Suche sucht nach Wörtern, die genau dem angegebenen Suchzeichenfolgenparameter entsprechen, s. Sie können diese Methode verwenden, um nach dem ersten Element zu suchen, das der angegebenen Zeichenfolge am angegebenen Startindex innerhalb der Liste der Elemente für die ListBox. Anschließend können Sie Aufgaben ausführen, z. B. das Entfernen des Elements, das den Suchtext mit der Remove Methode enthält, oder den Text des Elements ändern. Diese Methode wird in der Regel verwendet, nachdem ein Aufruf mit der Version dieser Methode ausgeführt wurde, die keinen Startindex angibt. Sobald ein erstes Element in der Liste gefunden wurde, wird diese Methode in der Regel verwendet, um weitere Instanzen des Suchtexts zu finden, indem die Indexposition im startIndex Parameter des Elements angegeben wird, nachdem die erste gefundene Instanz des Suchtexts gefunden wurde. Wenn Sie anstelle einer genauen Wortgleichung eine Teilwortsuche durchführen möchten, verwenden Sie die FindString Methode.

Hinweis

Wenn die Suche den unteren Rand des ListBoxObjekts erreicht, wird die Suche vom oberen Rand des Elements nach dem ListBox durch den startIndex Parameter angegebenen Element fortgesetzt.

Siehe auch

Gilt für