ListView.SelectedIndexCollection クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


ListView.SelectedIndexCollection は、ListView コントロール内で選択されている項目のインデックスを格納します。ListView.SelectedIndexCollection に格納されているインデックスは、ListView.ListViewItemCollection 内のインデックス位置です。ListView.ListViewItemCollection は、ListView コントロールに表示されるすべての項目を格納します。
ListView の項目が ListView.ListViewItemCollection にどのように格納されているか、およびそれらの項目の ListView 内での選択の状態を次の表に示します。
前の表の ListView.ListViewItemCollection の例に基づいた ListView.SelectedIndexCollection の内容を次の表に示します。
このクラスのプロパティとメソッドを使用すると、コレクションを使用してさまざまなタスクを実行できます。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.Windows.Forms.ListView.SelectedIndexCollection


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ListView.SelectedIndexCollection コンストラクタ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( 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 メンバ
ListView コントロール内で選択されている項目のインデックスを格納するコレクションを表します。
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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (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のページへのリンク