ListView.SelectedIndexCollectionとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ListView.SelectedIndexCollectionの意味・解説 

ListView.SelectedIndexCollection クラス

ListView コントロール内で選択されている項目のインデックスを格納するコレクションを表します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Class SelectedIndexCollection
    Implements IList, ICollection, IEnumerable
Dim instance As SelectedIndexCollection
public class SelectedIndexCollection : IList,
 ICollection, IEnumerable
public ref class SelectedIndexCollection :
 IList, ICollection, IEnumerable
public class SelectedIndexCollection implements
 IList, ICollection, 
    IEnumerable
public class SelectedIndexCollection implements
 IList, ICollection, 
    IEnumerable
解説解説

ListView.SelectedIndexCollection は、ListView コントロール内で選択されている項目のインデックスを格納します。ListView.SelectedIndexCollection に格納されているインデックスは、ListView.ListViewItemCollection 内のインデックス位置です。ListView.ListViewItemCollection は、ListView コントロールに表示されるすべての項目を格納します。

ListView の項目が ListView.ListViewItemCollection にどのように格納されているか、およびそれらの項目の ListView 内での選択の状態を次の表に示します。

インデックス

項目

ListView での選択の状態

0

Item1

選択されていない

1

Item2

選択されている

2

Item3

選択されていない

3

Item4

選択されている

4

Item5

選択されている

前の表の ListView.ListViewItemCollection の例に基づいた ListView.SelectedIndexCollection の内容を次の表に示します。

インデックス

ListViewItemCollection の選択された項目のインデックス

0

1

1

3

2

4

このクラスのプロパティとメソッドを使用すると、コレクションを使用してさまざまなタスクを実行できます。Contains メソッドを使用すると、ListView.ListViewItemCollection のインデックス位置が、ListView.SelectedIndexCollection に格納されるインデックスの 1 つであるかどうかを確認できます。コレクション内に項目があることが判明している場合は、IndexOf メソッドを使用して、ListView.SelectedIndexCollection 内のインデックスの位置を確認できます。

使用例使用例

SelectedIndices、SelectedIndexChanged、および HeaderStyle の各メンバと ListView.SelectedIndexCollection クラスの使用方法を次のコード例に示します。この例を実行するには、ListView1 という名前の ListView オブジェクトと TextBox1 という名前の TextBox が配置されているフォームに次のコードを貼り付けます。次に、フォームのコンストラクタまたは Load のイベント ハンドラで InitializeListView メソッドを呼び出します。この例では、イベント ハンドラが SelectedIndexChanged イベントに正しく関連付けられている必要があります。

    ' This method adds two columns to the ListView, setting the Text 
    ' and TextAlign, and Width properties of each ColumnHeader.  The
 
    ' HeaderStyle property is set to NonClickable since the ColumnClick
 
    ' event is not handled.  Finally the method adds ListViewItems and
 
    ' SubItems to each column.
    Private Sub InitializeListView()
        Me.ListView1 = New System.Windows.Forms.ListView
        Me.ListView1.BackColor = System.Drawing.SystemColors.Control
        Me.ListView1.Dock = System.Windows.Forms.DockStyle.Top
        Me.ListView1.Location = New System.Drawing.Point(0,
 0)
        Me.ListView1.Name = "ListView1"
        Me.ListView1.Size = New System.Drawing.Size(292,
 130)
        Me.ListView1.TabIndex = 0
        Me.ListView1.View = System.Windows.Forms.View.Details
        Me.ListView1.MultiSelect = True
        Me.ListView1.HideSelection = False
        ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
        Dim columnHeader1 As New
 ColumnHeader
        With columnHeader1
            .Text = "Breakfast Item"
            .TextAlign = HorizontalAlignment.Left
            .Width = 146
        End With
        Dim columnHeader2 As New
 ColumnHeader
        With columnHeader2
            .Text = "Price Each"
            .TextAlign = HorizontalAlignment.Center
            .Width = 142
        End With

        Me.ListView1.Columns.Add(columnHeader1)
        Me.ListView1.Columns.Add(columnHeader2)
        Dim foodList() As String
 = New String() {"Juice",
 "Coffee", _
            "Cereal & Milk", "Fruit
 Plate", "Toast & Jelly", _
            "Bagel & Cream Cheese"}
        Dim foodPrice() As String
 = New String() {"1.09",
 "1.09", _
            "2.19", "2.49",
 "1.49", "1.49"}
        Dim count As Integer
        For count = 0 To foodList.Length -
 1
            Dim listItem As New
 ListViewItem(foodList(count))
            listItem.SubItems.Add(foodPrice(count))
            ListView1.Items.Add(listItem)
        Next
        Me.Controls.Add(Me.ListView1)
    End Sub
<br /><span space="preserve">...</span><br
 />    ' Uses the SelectedIndices property to retrieve and tally
 the price of  
    ' the selected menu items.
    Private Sub ListView1_SelectedIndexChanged_UsingIndices
 _
        (ByVal sender As Object,
 ByVal e As System.EventArgs) _
        Handles ListView1.SelectedIndexChanged

        Dim indexes As ListView.SelectedIndexCollection
 = _
            Me.ListView1.SelectedIndices
        Dim index As Integer
        Dim price As Double
 = 0.0
        For Each index In
 indexes
            price += Double.Parse(Me.ListView1.Items(index).SubItems(1).Text)
        Next

        ' Output the price to TextBox1.
        TextBox1.Text = CType(price, String)
    End Sub
    // This method adds two columns to the ListView, setting the Text 
    // and TextAlign, and Width properties of each ColumnHeader.  The
 
    // HeaderStyle property is set to NonClickable since the ColumnClick
 
    // event is not handled.  Finally the method adds ListViewItems
 and 
    // SubItems to each column.
    private void InitializeListView()
    {
        this.ListView1 = new System.Windows.Forms.ListView();
        this.ListView1.BackColor = System.Drawing.SystemColors.Control;
        this.ListView1.Dock = System.Windows.Forms.DockStyle.Top;
        this.ListView1.Location = new System.Drawing.Point(0,
 0);
        this.ListView1.Name = "ListView1";
        this.ListView1.Size = new System.Drawing.Size(292,
 130);
        this.ListView1.TabIndex = 0;
        this.ListView1.View = System.Windows.Forms.View.Details;
        this.ListView1.MultiSelect = true;
        this.ListView1.HideSelection = false;
        this.ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
        
        ColumnHeader columnHeader1 = new ColumnHeader();
        columnHeader1.Text = "Breakfast Item";
        columnHeader1.TextAlign = HorizontalAlignment.Left;
        columnHeader1.Width = 146;

         ColumnHeader columnHeader2 = new ColumnHeader();
        columnHeader2.Text = "Price Each";
        columnHeader2.TextAlign = HorizontalAlignment.Center;
        columnHeader2.Width = 142;
  
        this.ListView1.Columns.Add(columnHeader1);
        this.ListView1.Columns.Add(columnHeader2);

        string[] foodList = new string[]{"Juice",
 "Coffee", 
            "Cereal & Milk", "Fruit Plate", "Toast &
 Jelly", 
            "Bagel & Cream Cheese"};
        string[] foodPrice = new string[]{"1.09",
 "1.09", "2.19", 
            "2.49", "1.49", "1.49"};
        
        for(int count=0; count < foodList.Length;
 count++)
        {
            ListViewItem listItem = new ListViewItem(foodList[count]);
            listItem.SubItems.Add(foodPrice[count]);
            ListView1.Items.Add(listItem);
        }
        this.Controls.Add(ListView1);
    }
    
<br /><span space="preserve">...</span><br /> 
   // Uses the SelectedIndices property to retrieve and tally the 
 
    // price of the selected menu items.
    private void ListView1_SelectedIndexChanged_UsingIndices(
        object sender, System.EventArgs e)
    {

        ListView.SelectedIndexCollection indexes = 
            this.ListView1.SelectedIndices;
        
        double price = 0.0;
        foreach ( int index in
 indexes )
        {
            price += Double.Parse(
                this.ListView1.Items[index].SubItems[1].Text);
        }

        // Output the price to TextBox1.
        TextBox1.Text =  price.ToString();
    }
   // This method adds two columns to the ListView, setting the Text 
   // and TextAlign, and Width properties of each ColumnHeader.  The
 
   // HeaderStyle property is set to NonClickable since the ColumnClick
 
   // event is not handled.  Finally the method adds ListViewItems and
 
   // SubItems to each column.
   void InitializeListView()
   {
      this->ListView1 = gcnew System::Windows::Forms::ListView;
      this->ListView1->BackColor = System::Drawing::SystemColors::Control;
      this->ListView1->Dock = System::Windows::Forms::DockStyle::Top;
      this->ListView1->Location = System::Drawing::Point(
 0, 0 );
      this->ListView1->Name = "ListView1";
      this->ListView1->Size = System::Drawing::Size( 292,
 130 );
      this->ListView1->TabIndex = 0;
      this->ListView1->View = System::Windows::Forms::View::Details;
      this->ListView1->MultiSelect = true;
      this->ListView1->HideSelection = false;
      this->ListView1->HeaderStyle = ColumnHeaderStyle::Nonclickable;
      ColumnHeader^ columnHeader1 = gcnew ColumnHeader;
      columnHeader1->Text = "Breakfast Item";
      columnHeader1->TextAlign = HorizontalAlignment::Left;
      columnHeader1->Width = 146;
      ColumnHeader^ columnHeader2 = gcnew ColumnHeader;
      columnHeader2->Text = "Price Each";
      columnHeader2->TextAlign = HorizontalAlignment::Center;
      columnHeader2->Width = 142;
      this->ListView1->Columns->Add( columnHeader1 );
      this->ListView1->Columns->Add( columnHeader2 );
      array<String^>^foodList = {"Juice","Coffee","Cereal
 & Milk","Fruit Plate","Toast & Jelly","Bagel
 & Cream Cheese"};
      array<String^>^foodPrice = {"1.09","1.09","2.19"
,"2.49","1.49","1.49"};
      for ( int count = 0; count < foodList->Length;
 count++ )
      {
         ListViewItem^ listItem = gcnew ListViewItem( foodList[ count ] );
         listItem->SubItems->Add( foodPrice[ count ] );
         ListView1->Items->Add( listItem );

      }
      this->Controls->Add( ListView1 );
   }
<br /><span space="preserve">...</span><br /> 
  // Uses the SelectedIndices property to retrieve and tally the  
   // price of the selected menu items.
   void ListView1_SelectedIndexChanged_UsingIndices( Object^ /*sender*/,
 System::EventArgs^ /*e*/ )
   {
      ListView::SelectedIndexCollection^ indexes = this->ListView1->SelectedIndices;
      double price = 0.0;
      System::Collections::IEnumerator^ myEnum1 = indexes->GetEnumerator();
      while ( myEnum1->MoveNext() )
      {
         int index = safe_cast<int>(myEnum1->Current);
         price += Double::Parse( this->ListView1->Items[
 index ]->SubItems[ 1 ]->Text );
      }

      
      // Output the price to TextBox1.
      TextBox1->Text = price.ToString();
   }
    // This method adds two columns to the ListView, setting the Text 
    // and TextAlign, and Width properties of each ColumnHeader.  The
 
    // HeaderStyle property is set to NonClickable since the ColumnClick
 
    // event is not handled.  Finally the method adds ListViewItems
 and 
    // SubItems to each column.
    private void InitializeListView()
    {
        this.listView1 = new System.Windows.Forms.ListView();
        this.listView1.set_BackColor(
            System.Drawing.SystemColors.get_Control());
        this.listView1.set_Dock(System.Windows.Forms.DockStyle.Top);
        this.listView1.set_Location(new System.Drawing.Point(0,
 0));
        this.listView1.set_Name("listView1");
        this.listView1.set_Size(new System.Drawing.Size(292,
 130));
        this.listView1.set_TabIndex(0);
        this.listView1.set_View(System.Windows.Forms.View.Details);
        this.listView1.set_MultiSelect(true);
        this.listView1.set_HideSelection(false);
        this.listView1.set_HeaderStyle(ColumnHeaderStyle.Nonclickable);

        ColumnHeader columnHeader1 = new ColumnHeader();
        columnHeader1.set_Text("Breakfast Item");
        columnHeader1.set_TextAlign(HorizontalAlignment.Left);
        columnHeader1.set_Width(146);

        ColumnHeader columnHeader2 = new ColumnHeader();
        columnHeader2.set_Text("Price Each");
        columnHeader2.set_TextAlign(HorizontalAlignment.Center);
        columnHeader2.set_Width(142);

        this.listView1.get_Columns().Add(columnHeader1);
        this.listView1.get_Columns().Add(columnHeader2);

        String foodList[] = new String[] { "Juice",
 "Coffee", "Cereal & Milk",
            "Fruit Plate", "Toast & Jelly", "Bagel &
 Cream Cheese" };
        String foodPrice[] = new String[] { "1.09",
 "1.09", "2.19", "2.49",
            "1.49", "1.49" };

        for (int count = 0; count < foodList.get_Length();
 count++) {
            ListViewItem listItem = new ListViewItem(
                foodList.get_Item(count).ToString());
            listItem.get_SubItems().Add(foodPrice.get_Item(count).ToString());
            listView1.get_Items().Add(listItem);
        }
        this.get_Controls().Add(listView1);
    } //InitializeListView
<br /><span space="preserve">...</span><br /> 
   // Uses the SelectedIndices property to retrieve and tally the 
 
    // price of the selected menu items.
    private void listView1_SelectedIndexChanged_UsingIndices(Object
 sender, 
        System.EventArgs e)
    {
        ListView.SelectedIndexCollection indexes = 
            this.listView1.get_SelectedIndices();

        double price = 0.0;
        for (int iCtr = 0; iCtr < indexes.get_Count();
 iCtr++) {
            int index = indexes.get_Item(iCtr);
            price += System.Double.Parse(this.listView1.get_Items().
                get_Item(index).get_SubItems().get_Item(1).get_Text());
        }
        // Output the price to textBox1.
        textBox1.set_Text(System.Convert.ToString(price));
    } //listView1_SelectedIndexChanged_UsingIndices
継承階層継承階層
System.Object
  System.Windows.Forms.ListView.SelectedIndexCollection
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ListView.SelectedIndexCollection コンストラクタ

ListView.SelectedIndexCollection クラスの新しいインスタンスを初期化します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Dim owner As ListView

Dim instance As New SelectedIndexCollection(owner)
public SelectedIndexCollection (
    ListView owner
)
public:
SelectedIndexCollection (
    ListView^ owner
)
public SelectedIndexCollection (
    ListView owner
)
public function SelectedIndexCollection (
    owner : ListView
)

パラメータ

owner

コレクションを所有している ListView コントロール。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ListView.SelectedIndexCollection クラス
ListView.SelectedIndexCollection メンバ
System.Windows.Forms 名前空間

ListView.SelectedIndexCollection プロパティ


ListView.SelectedIndexCollection メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Add コレクションに、Items 配列内の指定したインデックス位置にある項目を追加します。
パブリック メソッド Clear コレクション内の項目を削除します。
パブリック メソッド Contains 指定したインデックスがコレクション内にあるかどうかを判断します。
パブリック メソッド CopyTo コレクション全体を既存の配列内の指定した位置にコピーします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetEnumerator 選択されているインデックスのコレクションを反復処理するために使用する、列挙子を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IndexOf ListView コントロールの ListView.ListViewItemCollection 内で指定されたインデックスについて、ListView.SelectedIndexCollection 内におけるインデックスを返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Remove Items コレクション内の指定されたインデックス位置にある項目を、ListView.SelectedIndexCollection から削除します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IList.Add 項目をコレクションに追加します。
インターフェイスの明示的な実装 System.Collections.IList.Clear コレクションからすべての項目を削除します。
インターフェイスの明示的な実装 System.Collections.IList.Contains 指定した項目がコレクション内にあるかどうかを判断します。
インターフェイスの明示的な実装 System.Collections.IList.IndexOf ListView.SelectedIndexCollection のインデックスを返します。ListView.SelectedIndexCollection には、ListView コントロールの ListView.ListViewItemCollection で選択されている項目のインデックスが格納されています。
インターフェイスの明示的な実装 System.Collections.IList.Insert コレクション内の指定したインデックスの位置に項目を挿入します。
インターフェイスの明示的な実装 System.Collections.IList.Remove 指定した項目のうち最初に見つかった項目をコレクションから削除します。
インターフェイスの明示的な実装 System.Collections.IList.RemoveAt コレクション内の指定したインデックス位置の項目を削除します。
参照参照

関連項目

ListView.SelectedIndexCollection クラス
System.Windows.Forms 名前空間

ListView.SelectedIndexCollection メンバ

ListView コントロール内で選択されている項目のインデックスを格納するコレクションを表します。

ListView.SelectedIndexCollection データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ListView.SelectedIndexCollection ListView.SelectedIndexCollection クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Add コレクションに、Items 配列内の指定したインデックス位置にある項目を追加します。
パブリック メソッド Clear コレクション内の項目を削除します。
パブリック メソッド Contains 指定したインデックスがコレクション内にあるかどうかを判断します。
パブリック メソッド CopyTo コレクション全体を既存の配列内の指定した位置にコピーします。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetEnumerator 選択されているインデックスのコレクションを反復処理するために使用する、列挙子を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IndexOf ListView コントロールの ListView.ListViewItemCollection 内で指定されたインデックスについて、ListView.SelectedIndexCollection 内におけるインデックスを返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド Remove Items コレクション内の指定されたインデックス位置にある項目を、ListView.SelectedIndexCollection から削除します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IList.Add 項目をコレクションに追加します。
インターフェイスの明示的な実装 System.Collections.IList.Clear コレクションからすべての項目を削除します。
インターフェイスの明示的な実装 System.Collections.IList.Contains 指定した項目がコレクション内にあるかどうかを判断します。
インターフェイスの明示的な実装 System.Collections.IList.IndexOf ListView.SelectedIndexCollection のインデックスを返します。ListView.SelectedIndexCollection には、ListView コントロールの ListView.ListViewItemCollection で選択されている項目のインデックスが格納されています。
インターフェイスの明示的な実装 System.Collections.IList.Insert コレクション内の指定したインデックスの位置に項目を挿入します。
インターフェイスの明示的な実装 System.Collections.IList.Remove 指定した項目のうち最初に見つかった項目をコレクションから削除します。
インターフェイスの明示的な実装 System.Collections.IList.RemoveAt コレクション内の指定したインデックス位置の項目を削除します。
インターフェイスの明示的な実装 System.Collections.IList.Item コレクション内のオブジェクトを取得または設定します。
参照参照

関連項目

ListView.SelectedIndexCollection クラス
System.Windows.Forms 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ListView.SelectedIndexCollection」の関連用語

ListView.SelectedIndexCollectionのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   



ListView.SelectedIndexCollectionのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS