This documentation is archived and is not being maintained.

ListView.CheckedItems Property

Gets the currently checked items in the control.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public ListView..::..CheckedListViewItemCollection CheckedItems { get; }

Property Value

Type: System.Windows.Forms.ListView.CheckedListViewItemCollection
A ListView.CheckedListViewItemCollection that contains the currently checked items. If no items are currently checked, an empty ListView.CheckedListViewItemCollection is returned.

This property is only useful when the CheckBoxes property of the ListView control is set to true. The CheckedItems property returns a collection that contains all items that are checked in the control. For more information about how to manipulate the items in the collection, see ListView.CheckedListViewItemCollection.

If you want to obtain a collection of the index positions within the ListView.ListViewItemCollection of the items that are checked in the ListView control, instead of the items that are checked, use the CheckedIndices property.

The following code example demonstrates a checked ListView that handles the ItemChecked event. The example uses the CheckedItems property to tally a new price every time that an item is checked or unchecked. To run this example, paste the following code into a form that contains a ListView named ListView1 and a TextBox named Textbox1. Call the InititalizeListView method from the form's constructor or Load method.

	private void InitializeListView()
		this.ListView1 = new System.Windows.Forms.ListView();

		// Set properties such as BackColor and DockStyle and Location.
		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.Size = new System.Drawing.Size(292, 130);
		this.ListView1.View = System.Windows.Forms.View.Details;
		this.ListView1.HideSelection = false;

		// Allow the user to select multiple items.
		this.ListView1.MultiSelect = true;

		// Show CheckBoxes in the ListView.
		this.ListView1.CheckBoxes = true;
		//Set the column headers and populate the columns.
		ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
		ColumnHeader columnHeader1 = new ColumnHeader();
		columnHeader1.Text = "Breakfast Choices";
		columnHeader1.TextAlign = HorizontalAlignment.Left;
		columnHeader1.Width = 146;

		ColumnHeader columnHeader2 = new ColumnHeader();
		columnHeader2.Text = "Price Each";
		columnHeader2.TextAlign = HorizontalAlignment.Center;
		columnHeader2.Width = 142;


		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.79", "2.09", "2.69"};
		int count;

		// Members are added one at a time, so call BeginUpdate to ensure 
		// the list is painted only once, rather than as each list item is added.

		for(count = 0; count < foodList.Length; count++)
			ListViewItem listItem = new ListViewItem(foodList[count]);

		//Call EndUpdate when you finish adding items to the ListView.


	// Handles the ItemChecked event.  The method loops through all the 
	// checked items and tallies a new price each time an item is 
	// checked or unchecked. It outputs the price to TextBox1.
	private void ListView1_ItemCheck2(object sender, 
		System.Windows.Forms.ItemCheckEventArgs e)
		double price = 0.0;
		ListView.CheckedListViewItemCollection checkedItems = 
		foreach ( ListViewItem item in checkedItems )
			price += Double.Parse(item.SubItems[1].Text);
		if (e.CurrentValue==CheckState.Unchecked)
			price += Double.Parse(
		else if((e.CurrentValue==CheckState.Checked))
			price -= Double.Parse(
		// Output the price to TextBox1.
		TextBox1.Text = price.ToString();

.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.