This topic has not yet been rated - Rate this topic

ListView.ListViewItemCollection Class

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

System.Object
  System.Windows.Forms.ListView.ListViewItemCollection

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
[ListBindableAttribute(false)]
public class ListViewItemCollection : IList, 
	ICollection, IEnumerable

The ListView.ListViewItemCollection type exposes the following members.

  Name Description
Public method ListView.ListViewItemCollection Initializes a new instance of the ListView.ListViewItemCollection class.
Top
  Name Description
Public property Count Gets the number of items in the collection.
Public property IsReadOnly Gets a value indicating whether the collection is read-only.
Public property Item[Int32] Gets or sets the item at the specified index within the collection.
Public property Item[String] Retrieves the item with the specified key.
Top
  Name Description
Public method Add(ListViewItem) Adds an existing ListViewItem to the collection.
Public method Add(String) Creates an item with the specified text and adds it to the collection.
Public method Add(String, Int32) Creates an item with the specified text and image and adds it to the collection.
Public method Add(String, String) Creates an item with the specified text and image and adds it to the collection.
Public method Add(String, String, Int32) Creates an item with the specified key, text, and image and adds an item to the collection.
Public method Add(String, String, String) Creates an item with the specified key, text, and image, and adds it to the collection.
Public method AddRange(ListView.ListViewItemCollection) Adds a collection of items to the collection.
Public method AddRange(ListViewItem[]) Adds an array of ListViewItem objects to the collection.
Public method Clear Removes all items from the collection.
Public method Contains Determines whether the specified item is located in the collection.
Public method ContainsKey Determines whether the collection contains an item with the specified key.
Public method CopyTo Copies the entire collection into an existing array at a specified location within the array.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Find Searches for items whose name matches the specified key, optionally searching subitems.
Public method GetEnumerator Returns an enumerator to use to iterate through the item collection.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method IndexOf Returns the index within the collection of the specified item.
Public method IndexOfKey Retrieves the index of the item with the specified key.
Public method Insert(Int32, String) Creates a new item and inserts it into the collection at the specified index.
Public method Insert(Int32, ListViewItem) Inserts an existing ListViewItem into the collection at the specified index.
Public method Insert(Int32, String, Int32) Creates a new item with the specified image index and inserts it into the collection at the specified index.
Public method Insert(Int32, String, String) Creates a new item with the specified text and image and inserts it in the collection at the specified index.
Public method 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.
Public method 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.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Remove Removes the specified item from the collection.
Public method RemoveAt Removes the item at the specified index within the collection.
Public method RemoveByKey Removes the item with the specified key from the collection.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public Extension Method AsParallel Enables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension Method AsQueryable Converts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension Method Cast<TResult> Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension Method OfType<TResult> Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Top
  Name Description
Explicit interface implemetation Private property ICollection.IsSynchronized Infrastructure. Gets a value indicating whether access to the collection is synchronized (thread safe).
Explicit interface implemetation Private property ICollection.SyncRoot Infrastructure. Gets an object that can be used to synchronize access to the collection of controls.
Explicit interface implemetation Private method IList.Add Infrastructure. Adds an existing object to the collection.
Explicit interface implemetation Private method IList.Contains Infrastructure. Determines whether the specified item is in the collection.
Explicit interface implemetation Private method IList.IndexOf Infrastructure. Returns the index within the collection of the specified item.
Explicit interface implemetation Private method IList.Insert Infrastructure. Inserts an object into the collection at the specified index.
Explicit interface implemetation Private property IList.IsFixedSize Infrastructure. Gets a value indicating whether the collection has a fixed size.
Explicit interface implemetation Private property IList.Item Infrastructure. Gets or sets the ListViewItem at the specified index within the collection.
Explicit interface implemetation Private method IList.Remove Infrastructure. Removes the specified item from the collection.
Top

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.

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.
	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);
	}
	


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ