ListBox.FindString ListBox.FindString ListBox.FindString ListBox.FindString Method

定義

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

オーバーロード

FindString(String) FindString(String) FindString(String) FindString(String)

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

FindString(String, Int32) FindString(String, Int32) FindString(String, Int32) 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) FindString(String) FindString(String) 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 String String String

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

戻り値

最初に見つかった項目の 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. 検索文字列FindStringに一致する項目が見つからない場合は、-1 の値が返され、 MessageBoxこの例ではが表示されます。If no items are found that match the search string FindString returns a -1 value and the example displays a MessageBox. 検索テキストに一致する項目が見つかった場合、この例ではSetSelectedListBoxメソッドを使用して内の項目を選択します。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の他のインスタンスを検索するには、の開始インデックスListBoxを指定するためのFindStringパラメーターを提供するバージョンのメソッドを使用できます。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) FindString(String, Int32) FindString(String, Int32) 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 String String String

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

startIndex
Int32 Int32 Int32 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.

戻り値

最初に見つかった項目の 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に到達すると、 startIndexパラメーターによって指定されListBoxた項目まで、の先頭から検索が続行されます。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.

こちらもご覧ください

適用対象