次の方法で共有


ListView.SelectedItems プロパティ

コントロール内の選択された項目を取得します。

Public ReadOnly Property SelectedItems As _
   ListView.SelectedListViewItemCollection
[C#]
public ListView.SelectedListViewItemCollection SelectedItems {get;}
[C++]
public: __property ListView.SelectedListViewItemCollection*
   get_SelectedItems();
[JScript]
public function get SelectedItems() :
   ListView.SelectedListViewItemCollection;

プロパティ値

コントロール内の選択された項目を格納している ListView.SelectedListViewItemCollection 。項目が現在選択されていない場合は、空の ListView.SelectedListViewItemCollection が返されます。

解説

MultiSelect プロパティが true に設定されている場合、このプロパティは ListView 内で選択されている項目を格納するコレクションを返します。単一選択の ListView の場合、このプロパティは、 ListView 内で選択されている項目だけを格納するコレクションを返します。コレクションの項目で実行できるタスクの詳細については、 ListView.SelectedListViewItemCollection のトピックを参照してください。

選択されている項目ではなく、 ListView コントロールで選択されている項目の ListView.ListViewItemCollection 内のインデックス位置のコレクションを取得する場合は、 SelectedIndices プロパティを使用します。

使用例

[Visual Basic, C#] SelectedItems イベント、 SelectedIndexChanged イベント、 HeaderStyle のメンバ、および System.Windows.Forms.SelectedListViewItemCollection クラスを使用するコード例を次に示します。この例を実行するには、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
. . . 
' Uses the SelectedItems property to retrieve and tally the price 
' of the selected menu items.
Private Sub ListView1_SelectedIndexChanged_UsingItems _
    (ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles ListView1.SelectedIndexChanged

    Dim breakfast As ListView.SelectedListViewItemCollection = _
        Me.ListView1.SelectedItems
    Dim item As ListViewItem
    Dim price As Double = 0.0
    For Each item In breakfast
        price += Double.Parse(item.SubItems(1).Text)
    Next

    ' Output the price to TextBox1.
    TextBox1.Text = CType(price, String)
End Sub

[C#] 
// 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);
}

. . . 
// Uses the SelectedItems property to retrieve and tally the price 
// of the selected menu items.
private void ListView1_SelectedIndexChanged_UsingItems(
    object sender, System.EventArgs e)
{

    ListView.SelectedListViewItemCollection breakfast = 
        this.ListView1.SelectedItems;
    
    double price = 0.0;
    foreach ( ListViewItem item in breakfast )
    {
        price += Double.Parse(item.SubItems[1].Text);
    }

    // Output the price to TextBox1.
    TextBox1.Text = price.ToString();
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ListView クラス | ListView メンバ | System.Windows.Forms 名前空間 | ListView.SelectedListViewItemCollection | SelectedIndices