ListBox.SelectedIndices プロパティ

定義

ListBox 内で現在選択されているすべての項目の 0 から始まるインデックス番号を格納するコレクションを取得します。Gets a collection that contains the zero-based indexes of all currently selected items in the ListBox.

public:
 property System::Windows::Forms::ListBox::SelectedIndexCollection ^ SelectedIndices { System::Windows::Forms::ListBox::SelectedIndexCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListBox.SelectedIndexCollection SelectedIndices { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndices : System.Windows.Forms.ListBox.SelectedIndexCollection
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection

プロパティ値

ListBox.SelectedIndexCollection

コントロール内で現在選択されている項目のインデックスを格納している ListBox.SelectedIndexCollectionA ListBox.SelectedIndexCollection containing the indexes of the currently selected items in the control. 項目が現在選択されていない場合は、空の ListBox.SelectedIndexCollection が返されます。If no items are currently selected, an empty ListBox.SelectedIndexCollection is returned.

属性

次のコード例は、メソッドを使用して 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

注釈

複数選択の場合 ListBox 、このプロパティは、で選択されているすべての項目のインデックスを含むコレクションを返し ListBox ます。For a multiple-selection ListBox, this property returns a collection containing the indexes to all items that are selected in the ListBox. 単一選択の場合 ListBox 、このプロパティは、内で唯一選択されている項目のインデックスを含む単一の要素を含むコレクションを返し ListBox ます。For a single-selection ListBox, this property returns a collection containing a single element containing the index of the only selected item in the ListBox. コレクションの項目を操作する方法の詳細については、「」を参照してください ListBox.SelectedIndexCollectionFor more information about how to manipulate the items of the collection, see ListBox.SelectedIndexCollection.

クラスには ListBox 、選択した項目を参照するさまざまな方法が用意されています。The ListBox class provides a number of ways to reference selected items. プロパティを使用して、 SelectedIndices 単一選択で現在選択されている項目のインデックス位置を取得する代わりに、 ListBox プロパティを使用でき SelectedIndex ます。Instead of using the SelectedIndices property to obtain the index position of the currently selected item in a single-selection ListBox, you can use the SelectedIndex property. で現在選択されている項目を取得する場合は、 ListBox 項目のインデックス位置ではなく、プロパティを使用し SelectedItem ます。If you want to obtain the item that is currently selected in the ListBox, instead of the index position of the item, use the SelectedItem property. また、 SelectedItems 複数選択で選択されているすべての項目を取得する場合は、プロパティを使用でき ListBox ます。In addition, you can use the SelectedItems property if you want to obtain all the selected items in a multiple-selection ListBox.

適用対象

こちらもご覧ください