ListBox.SelectedIndexCollection クラス

定義

ListBox 内の選ばれた項目へのインデックスを含むコレクションを表します。Represents the collection containing the indexes to the selected items in a ListBox.

public: ref class ListBox::SelectedIndexCollection : System::Collections::IList
public class ListBox.SelectedIndexCollection : System.Collections.IList
type ListBox.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListBox.SelectedIndexCollection
Implements IList
継承
ListBox.SelectedIndexCollection
実装

次の例では、FindString メソッドを使用して、ListBoxの項目内の検索テキストのすべてのインスタンスを検索する方法を示します。The following 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.SelectedIndexCollection クラスは、ListBox内の選択された項目のインデックスを格納します。The ListBox.SelectedIndexCollection class stores the indexes to the selected items in the ListBox. ListBox.SelectedIndexCollection に格納されているインデックスは、ListBox.ObjectCollection クラス内のインデックス位置です。The indexes stored in the ListBox.SelectedIndexCollection are index positions within the ListBox.ObjectCollection class. ListBox.ObjectCollection クラスは、ListBoxに表示されるすべての項目を格納します。The ListBox.ObjectCollection class stores all items displayed in the ListBox.

次の表は、ListBox.ObjectCollectionListBox の項目とその選択状態を ListBox例の中でどのように格納するかを示しています。The following table is an example of how the ListBox.ObjectCollection stores the items of the ListBox as well as their selection states within an example ListBox.

インデックスIndex アイテムItem リストボックス内の選択状態Selection state within the ListBox
00 object1object1 未選択Unselected
11 object2object2 SelectedSelected
22 object3object3 未選択Unselected
33 object4object4 SelectedSelected
44 object5object5 SelectedSelected

次の表は、前の表の ListBox.ObjectCollection の例に基づいて、ListBox.SelectedIndexCollection がどのように表示されるかを示しています。Based on the ListBox.ObjectCollection example in the previous table, the following table demonstrates how the ListBox.SelectedIndexCollection would appear.

インデックスIndex ObjectCollection 内の選択された項目のインデックスIndex of selected item in ObjectCollection
00 11
11 33
22 44

このクラスのプロパティとメソッドを使用して、コレクションに対してさまざまなタスクを実行できます。You can use the properties and methods of this class to perform a variety of tasks with the collection. Contains メソッドを使用すると、ListBox.ObjectCollection クラスのインデックス位置が、ListBox.SelectedIndexCollectionに格納されている選択されたインデックスのメンバーであるかどうかを判断できます。The Contains method enables you to determine whether an index position from the ListBox.ObjectCollection class is a member of the selected indexes stored in the ListBox.SelectedIndexCollection. 項目がコレクション内にあることがわかったら、IndexOf メソッドを使用して、ListBoxListBox.ObjectCollection 内の特定のインデックス位置が格納されている場所を確認できます。Once you know that the item is located within the collection, you can use the IndexOf method to determine where a specific index position within the ListBox.ObjectCollection for the ListBox is stored.

コンストラクター

ListBox.SelectedIndexCollection(ListBox)

ListBox.SelectedIndexCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the ListBox.SelectedIndexCollection class.

プロパティ

Count

コレクションに含まれるアイテムの数を取得します。Gets the number of items in the collection.

IsReadOnly

コレクションが読み取り専用かどうかを示す値を取得します。Gets a value indicating whether the collection is read-only.

Item[Int32]

コレクション内の指定したインデックスにあるインデックス値を取得します。Gets the index value at the specified index within this collection.

メソッド

Add(Int32)

指定したインデックス位置に ListBox を追加します。Adds the ListBox at the specified index location.

Clear()

コレクションからすべてのコントロールを削除します。Removes all controls from the collection.

Contains(Int32)

指定したインデックスがコレクション内にあるかどうかを確認します。Determines whether the specified index is located within the collection.

CopyTo(Array, Int32)

コレクション全体を既存の配列内の指定した位置にコピーします。Copies the entire collection into an existing array at a specified location within the array.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetEnumerator()

選択されているインデックス コレクションを反復処理するために使用する列挙子を返します。Returns an enumerator to use to iterate through the selected indexes collection.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
IndexOf(Int32)

ListBox.SelectedIndexCollectionListBox.ObjectCollection 内で指定されたインデックスについて、ListBox 内におけるインデックスを返します。Returns the index within the ListBox.SelectedIndexCollection of the specified index from the ListBox.ObjectCollection of the ListBox.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Remove(Int32)

指定したコントロールをコレクションから削除します。Removes the specified control from the collection.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

ICollection.IsSynchronized

このメンバーの詳細については、「IsSynchronized」を参照してください。For a description of this member, see IsSynchronized.

ICollection.SyncRoot

このメンバーの詳細については、「SyncRoot」を参照してください。For a description of this member, see SyncRoot.

IList.Add(Object)

このメンバーの詳細については、「Add(Object)」を参照してください。For a description of this member, see Add(Object).

IList.Clear()

このメンバーの詳細については、「Clear()」を参照してください。For a description of this member, see Clear().

IList.Contains(Object)

このメンバーの詳細については、「Contains(Object)」を参照してください。For a description of this member, see Contains(Object).

IList.IndexOf(Object)

このメンバーの詳細については、「IndexOf(Object)」を参照してください。For a description of this member, see IndexOf(Object).

IList.Insert(Int32, Object)

このメンバーの詳細については、「Insert(Int32, Object)」を参照してください。For a description of this member, see Insert(Int32, Object).

IList.IsFixedSize

このメンバーの詳細については、「IsFixedSize」を参照してください。For a description of this member, see IsFixedSize.

IList.Item[Int32]

このメンバーの詳細については、「Item[Int32]」を参照してください。For a description of this member, see Item[Int32].

IList.Remove(Object)

このメンバーの詳細については、「Remove(Object)」を参照してください。For a description of this member, see Remove(Object).

IList.RemoveAt(Int32)

このメンバーの詳細については、「RemoveAt(Int32)」を参照してください。For a description of this member, see RemoveAt(Int32).

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象