The ListView control is similar to a ListBox in that it displays a list of items. The main difference is that the ListView control provides a number of different ways items can be viewed by the user. The ListViewItem class defines the appearance, behavior, and data associated with an item that is displayed in the ListView control. ListViewItem objects can be displayed in the ListView control in one of four different views. Items can be displayed as large or small icons or as small icons in a vertical list. Items can also have subitems that contain information that is related to the parent item. The fourth view style, details view, allows you to display the item and its subitems in a grid with column headers that can be used to identify the information being displayed in a subitem.
Most of the properties of the ListViewItem class provide ways to change the display of the item in the ListView control it is associated with. The BackColor, ForeColor, and Font properties allow you to change how the text of the item is displayed in the ListView control. The ImageIndex property allows you to specify the image to load from the ImageList that is assigned to the ListView control (by setting the LargeImageList or SmallImageList properties of the ListView). Items can display check boxes in order to obtain item choices from the user in a way similar to a CheckedListBox control. You can use the Checked property to determine if an item is checked, or to select or clear the check box at run time. Items can display any number of subitems when the View property of the associated ListView control is set to Details and columns are defined in the ListView..::.ColumnHeaderCollection of the ListView control. You can add subitems to an item by calling the Add method of the ListViewItem..::.ListViewSubItemCollection class. The SubItems property allows you to gain access to the ListViewItem..::.ListViewSubItemCollection class and its members.
Some of the properties and methods of the ListViewItem class are item-specific versions of properties and methods in the ListView control. For example, the EnsureVisible method is similar to the ListView version of the method, but the ListViewItem version affects only the current item.
The ListViewItem class also provides methods that are not versions of ListView methods. The BeginEdit method places the item's text into edit mode so the user can change the item's text (when the LabelEdit property of the ListView control is set to true). The Clone method allows you to create copies of existing ListViewItem objects to reuse in other ListView controls.