ListBox.FindStringExact ListBox.FindStringExact ListBox.FindStringExact ListBox.FindStringExact Method

定義

ListBox 内で、指定した文字列と正確に一致する最初の項目を検索します。Finds the first item in the ListBox that exactly matches the specified string.

オーバーロード

FindStringExact(String) FindStringExact(String) FindStringExact(String) FindStringExact(String)

ListBox 内で、指定した文字列と正確に一致する最初の項目を検索します。Finds the first item in the ListBox that exactly matches the specified string.

FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32)

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

FindStringExact(String) FindStringExact(String) FindStringExact(String) FindStringExact(String)

ListBox 内で、指定した文字列と正確に一致する最初の項目を検索します。Finds the first item in the ListBox that exactly matches the specified string.

public:
 int FindStringExact(System::String ^ s);
public int FindStringExact (string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (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.

次のコード例は、 ListBox.FindStringExactメソッドを使用して、指定した文字列と完全に一致する項目をコントロールでListBox検索する方法を示しています。The following code example demonstrates how to use the ListBox.FindStringExact method to search a ListBox control for an item that exactly matches a specified string. 検索文字列に一致する項目が見つからない場合、 FindStringExactは-1 値を返し、例ではMessageBoxを表示します。If no items are found that match the search string, FindStringExact 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 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

注釈

このメソッドで実行される検索では、大文字と小文字は区別されません。The search performed by this method is not case-sensitive. 検索では、検索文字列パラメーター sに指定された単語と完全に一致するものが検索されます。The search looks for an exact match to the words specified in the 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を指定するためのFindStringExactパラメーターを提供するバージョンのメソッドを使用できます。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 FindStringExact method that provides a parameter for specifying a starting index within the ListBox. 単語の完全一致ではなく部分的な検索を実行する場合は、 FindStringメソッドを使用します。If you want to perform partial word search instead of an exact word match, use the FindString method.

こちらもご覧ください

FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32)

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

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

パラメーター

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.

次のコード例は、 FindStringExactメソッドを使用して、 ListBox指定した検索テキストと完全に一致する内のすべての項目を検索する方法を示しています。The following code example demonstrates how to use the FindStringExact method to search for all items in a ListBox that exactly match the specified search text. この例では、 FindStringExactメソッドのバージョンを使用します。これにより、 ListBox内のすべての項目を連続して検索するための開始検索インデックスを指定できます。The example uses the version of the FindStringExact method that enables you to specify a starting search index from which to do a continual search of all items in the ListBox. また、この例では、メソッドがFindStringExact項目リストの一番下に達した後にリストの先頭から検索を開始するかどうかを判断し、再帰的な検索を回避する方法も示しています。The example also demonstrates how to determine when the FindStringExact 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 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

注釈

このメソッドで実行される検索では、大文字と小文字は区別されません。The search performed by this method is not case-sensitive. 検索は、指定された検索文字列パラメーター sと完全に一致する単語を検索します。The search looks for words that exactly 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 using the Remove method or change 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. 単語の完全一致ではなく部分的な検索を実行する場合は、 FindStringメソッドを使用します。If you want to perform a partial word search instead of an exact word match, use the FindString 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.

こちらもご覧ください

適用対象