ListView.SelectedItems 属性

定义

获取在控件中选定的项。

C#
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListView.SelectedListViewItemCollection SelectedItems { get; }

属性值

ListView.SelectedListViewItemCollection,包含在控件中选定的项。 如果当前没有选定的项,则返回空 ListView.SelectedListViewItemCollection

属性

示例

下面的代码示例演示如何使用 SelectedItemsSelectedIndexChanged 事件和 HeaderStyle 成员以及 ListView.SelectedListViewItemCollection 类。 若要运行此示例,请将以下代码粘贴到包含 ListView 名为 ListView1 的对象和名为 的 TextBoxTextBox1窗体中。 InitializeListView从窗体的构造函数或 Load 方法调用 方法。 此示例要求事件处理程序与 事件正确关联SelectedIndexChanged

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

注解

如果在创建句柄之前ListView访问属性,则 SelectedItems 属性将不包含任何项,这通常在最初加载以在窗体中显示时ListView发生。 可以检查以查看是否使用 IsHandleCreated 属性创建了句柄。 当 属性 MultiSelect 设置为 true时,此属性返回一个集合,其中包含 在 中选择 ListView的项。 对于单 ListView选,此属性返回包含 中唯一选定项的 ListView集合。 有关可以使用集合中的项执行的任务的详细信息,请参阅 ListView.SelectedListViewItemCollection

如果要获取控件中ListView所选项的 内ListView.ListViewItemCollection索引位置的集合,请使用 属性SelectedIndices,而不是所选项。

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅