ListView.ListViewItemCollection Class

Definition

Represents the collection of items in a ListView control or assigned to a ListViewGroup.

public: ref class ListView::ListViewItemCollection : System::Collections::IList
public class ListView.ListViewItemCollection : System.Collections.IList
[System.ComponentModel.ListBindable(false)]
public class ListView.ListViewItemCollection : System.Collections.IList
type ListView.ListViewItemCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
[<System.ComponentModel.ListBindable(false)>]
type ListView.ListViewItemCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListView.ListViewItemCollection
Implements IList
Inheritance
ListView.ListViewItemCollection
Attributes
Implements

Examples

The following code example demonstrates how to add items to a ListView.ListViewItemCollection. Note that the Items property of ListView1 is of type ListView.ListViewItemCollection. To run this example, paste the following code into a form that contains a ListView object named ListView1 and a TextBox named TextBox1. Call the InitializeListView method from the form's constructor or Load event handler.

// 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 );
}
  // 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);
  }
' 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

Remarks

A ListView.ListViewItemCollection stores the items displayed in a ListView control or assigned to a ListViewGroup. There are two other collections defined within the ListView class that enable you to determine what items are selected within a ListView control. The ListView.SelectedListViewItemCollection class provides properties and methods for determining what items are selected in a ListView control, while the ListView.SelectedIndexCollection class enables you to determine what indexes within the ListView.ListViewItemCollection of a ListView control are selected. In addition to selection collection classes, there are also two classes that enable you to determine what items are checked (when the CheckBoxes property of the ListView control is set to true) within this collection.

There are a number of ways to add items to the collection. The Add method adds a single item to the collection. To add a number of items to the collection, you create an array of items and pass it to the AddRange method. If you want to insert an item at a specific location in the collection, you can use the Insert method. To remove items, you can use either the Remove method or the RemoveAt method if you know where the item is located in the collection. The Clear method enables you to remove all items from the collection instead of using the Remove method to remove a single item at a time.

In addition to methods and properties for adding and removing items, the ListView.ListViewItemCollection also provides methods to find items in the collection. The Contains method enables you to determine whether an item is a member of the collection. Once you know that the item is located in the collection, you can use the IndexOf method to determine where the item is located in the collection.

Constructors

ListView.ListViewItemCollection(ListView)

Initializes a new instance of the ListView.ListViewItemCollection class.

Properties

Count

Gets the number of items in the collection.

IsReadOnly

Gets a value indicating whether the collection is read-only.

Item[Int32]

Gets or sets the item at the specified index within the collection.

Item[String]

Retrieves the item with the specified key.

Methods

Add(ListViewItem)

Adds an existing ListViewItem to the collection.

Add(String)

Creates an item with the specified text and adds it to the collection.

Add(String, Int32)

Creates an item with the specified text and image and adds it to the collection.

Add(String, String)

Creates an item with the specified text and image and adds it to the collection.

Add(String, String, Int32)

Creates an item with the specified key, text, and image and adds an item to the collection.

Add(String, String, String)

Creates an item with the specified key, text, and image, and adds it to the collection.

AddRange(ListView+ListViewItemCollection)

Adds a collection of items to the collection.

AddRange(ListViewItem[])

Adds an array of ListViewItem objects to the collection.

Clear()

Removes all items from the collection.

Contains(ListViewItem)

Determines whether the specified item is located in the collection.

ContainsKey(String)

Determines whether the collection contains an item with the specified key.

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.

(Inherited from Object)
Find(String, Boolean)

Searches for items whose name matches the specified key, optionally searching subitems.

GetEnumerator()

Returns an enumerator to use to iterate through the item collection.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
IndexOf(ListViewItem)

Returns the index within the collection of the specified item.

IndexOfKey(String)

Retrieves the index of the item with the specified key.

Insert(Int32, ListViewItem)

Inserts an existing ListViewItem into the collection at the specified index.

Insert(Int32, String)

Creates a new item and inserts it into the collection at the specified index.

Insert(Int32, String, Int32)

Creates a new item with the specified image index and inserts it into the collection at the specified index.

Insert(Int32, String, String)

Creates a new item with the specified text and image and inserts it in the collection at the specified index.

Insert(Int32, String, String, Int32)

Creates a new item with the specified key, text, and image, and inserts it in the collection at the specified index.

Insert(Int32, String, String, String)

Creates a new item with the specified key, text, and image, and adds it to the collection at the specified index.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(ListViewItem)

Removes the specified item from the collection.

RemoveAt(Int32)

Removes the item at the specified index within the collection.

RemoveByKey(String)

Removes the item with the specified key from the collection.

ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

ICollection.IsSynchronized

Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Gets an object that can be used to synchronize access to the collection of controls.

IList.Add(Object)

Adds an existing object to the collection.

IList.Contains(Object)

Determines whether the specified item is in the collection.

IList.IndexOf(Object)

Returns the index within the collection of the specified item.

IList.Insert(Int32, Object)

Inserts an object into the collection at the specified index.

IList.IsFixedSize

Gets a value indicating whether the collection has a fixed size.

IList.Item[Int32]

Gets or sets the ListViewItem at the specified index within the collection.

IList.Remove(Object)

Removes the specified item from the collection.

Extension Methods

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Applies to

See also