ListBox.FindString メソッド

定義

ListBox 内で、指定した文字列で始まる最初の項目を検索します。Finds the first item in the ListBox that starts with the specified string.

オーバーロード

FindString(String)

ListBox 内で、指定した文字列で始まる最初の項目を検索します。Finds the first item in the ListBox that starts with the specified string.

FindString(String, Int32)

ListBox 内で、指定した文字列で始まる最初の項目を検索します。Finds the first item in the ListBox that starts with the specified string. 指定した開始インデックスから検索が開始します。The search starts at a specific starting index.

FindString(String)

ListBox 内で、指定した文字列で始まる最初の項目を検索します。Finds the first item in the ListBox that starts with the specified string.

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

パラメーター

s
String

検索するテキストです。The text to search for.

戻り値

Int32

最初に見つかった項目の 0 から始まるインデックス番号。一致する項目が見つからない場合は ListBox.NoMatches を返します。The zero-based index of the first item found; returns ListBox.NoMatches if no match is found.

例外

s パラメーターの値が -1 未満か項目数以上です。The value of the s parameter is less than -1 or greater than or equal to the item count.

次のコード例は、メソッドを使用して FindString 、内の文字列の最初のインスタンスを検索する方法を示して ListBox います。The following code example demonstrates how to use the FindString method to search for the first instance of a string in a ListBox. 検索文字列に一致する項目が見つからない場合は、-1 の値が返され、この FindString 例ではが表示され MessageBox ます。If no items are found that match the search string FindString returns a -1 value and the example displays a MessageBox. 検索テキストに一致する項目が見つかった場合、この例では、メソッドを使用して SetSelected 内の項目を選択し ListBox ます。If an item is found that matches the search text, the example uses the SetSelected method to select the item in the 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

注釈

このメソッドで実行される検索では、大文字と小文字は区別されません。The search performed by this method is not case-sensitive. 検索は、指定された検索文字列パラメーターに部分的に一致する単語を検索し s ます。The search looks for words that partially match the specified search string parameter, s. このメソッドを使用すると、指定した文字列に一致する最初の項目を検索できます。You can use this method to search for the first item that matches the specified string. その後、メソッドを使用して、 Remove または項目のテキストを変更することで、検索テキストを含む項目を削除するなどのタスクを実行できます。You can then perform tasks such as removing the item that contains the search text by using the Remove method or changing the item's text. 指定したテキストが見つかったら、内のテキストの他のインスタンスを検索するには、の ListBox FindString 開始インデックスを指定するためのパラメーターを提供するバージョンのメソッドを使用でき ListBox ます。Once you have found the specified text, if you want to search for other instances of the text in the ListBox, you can use the version of the FindString method that provides a parameter for specifying a starting index within the ListBox. 部分一致ではなく完全一致する単語の検索を実行する場合は、メソッドを使用し FindStringExact ます。If you want to perform a search for an exact word match instead of a partial match, use the FindStringExact method.

こちらもご覧ください

適用対象

FindString(String, Int32)

ListBox 内で、指定した文字列で始まる最初の項目を検索します。Finds the first item in the ListBox that starts with the specified string. 指定した開始インデックスから検索が開始します。The search starts at a specific starting index.

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

パラメーター

s
String

検索するテキストです。The text to search for.

startIndex
Int32

最初の検索対象項目の前にある項目の 0 から始まるインデックス番号。The zero-based index of the item before the first item to be searched. コントロールの先頭から検索する場合は -1 に設定します。Set to negative one (-1) to search from the beginning of the control.

戻り値

Int32

最初に見つかった項目の 0 から始まるインデックス番号。一致する項目が見つからない場合は ListBox.NoMatches を返します。The zero-based index of the first item found; returns ListBox.NoMatches if no match is found.

例外

startIndex パラメーターの値がゼロ未満か、Count クラスの ListBox.ObjectCollection プロパティの値以上です。The startIndex parameter is less than zero or greater than or equal to the value of the Count property of the ListBox.ObjectCollection class.

次のコード例は、メソッドを使用して FindString 、の項目内の検索テキストのすべてのインスタンスを検索する方法を示して ListBox います。The following code example demonstrates how to use the FindString method to search for all instances of the search text in the items of the ListBox. この例では、メソッドのバージョンを使用します。これにより、内のすべての項目を連続して検索するための FindString 開始検索インデックスを指定でき ListBox ます。The example uses the version of the FindString method that enables you to specify a starting search index from which to do a continual search of all items in the ListBox. また、この例では、 FindString 再帰的検索を回避するために、リストの一番下に達した後に、メソッドがリストの先頭から検索を開始するタイミングを決定する方法も示しています。The example also demonstrates how to determine when the FindString method begins searching from the top of the list after it reaches the bottom of the list of items to prevent a recursive search. で見つかった項目は、 ListBox メソッドを使用して選択され SetSelected ます。Once items are found in the ListBox, they are selected using the SetSelected method.

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

注釈

このメソッドで実行される検索では、大文字と小文字は区別されません。The search performed by this method is not case-sensitive. 検索は、指定された検索文字列パラメーターに部分的に一致する単語を検索し s ます。The search looks for words that partially match the specified search string parameter, s. このメソッドを使用すると、の項目リスト内で指定した開始インデックス位置にある、指定した文字列に一致する最初の項目を検索でき ListBox ます。You can use this method to search for the first item that matches the specified string at the specified starting index within the list of items for the ListBox. その後、メソッドを使用して、 Remove または項目のテキストを変更することで、検索テキストを含む項目を削除するなどのタスクを実行できます。You can then perform tasks such as removing the item that contains the search text by using the Remove method or changing the item's text. このメソッドは、通常、開始インデックスを指定しないバージョンのこのメソッドを使用して呼び出しが行われた後に使用されます。This method is typically used after a call has been made using the version of this method that does not specify a starting index. リストに最初の項目が見つかったら、通常、このメソッドを使用して、検索テキストの最初に見つかったインスタンスの後にある項目のパラメーターでインデックス位置を指定することで、検索テキストのインスタンスをさらに検索し startIndex ます。Once an initial item has been found in the list, this method is typically used to find further instances of the search text by specifying the index position in the startIndex parameter of the item after the first found instance of the search text. 部分一致ではなく完全一致する単語の検索を実行する場合は、メソッドを使用し FindStringExact ます。If you want to perform a search for an exact word match instead of a partial match, use the FindStringExact method.

注意

検索がの一番下に到達すると、 ListBox ListBox パラメーターによって指定された項目まで、の先頭から検索が続行され startIndex ます。When the search reaches the bottom of the ListBox, it continues searching from the top of the ListBox back to the item specified by the startIndex parameter.

こちらもご覧ください

適用対象