Creating List Views in Code using

By: Steven Holzner Viewed: 153184 times    

You can add items to list views in code. In this case, when the form loads, I'll add four items to a list view. As you might expect, you do this with the Add method of the list view's Items collection, which can take the text of the new item and an image index in an ImageList for an icon to display for the item.

In the report mode (also called details mode), a list view can display column headers and fields in each of the columns. You can create column headers with the Columns collection of the list view, and add fields to a ListViewItem object with its SubItems collection. List views display their items with small icons (16×16 pixels), except for large icon mode, which uses large (32×32 pixel) icons. To assign images to list items, you can use the SmallImageList property to assign an image list to a list view, which means the first item will use the first image in the image list, the second item the second image, and so on. You also can assign an image list to the LargeImageList property for the large icon view.

Here's the code where I add list view items to a list view, ListView1, in the ListViews example when the main form first loads; note that when you create a column header, you give the text for the column header, as well as the width of the column, and the alignment of its contained text:

    Private Sub Form1_Load(ByVal eventSender As System.Object, _
        ByVal eventArgs As System.EventArgs) Handles MyBase.Load
        ListView1.Columns.Add("Field 1", ListView1.Width / 4, _
        ListView1.Columns.Add("Field 2", ListView1.Width / 4, _
        ListView1.Columns.Add("Field 3", ListView1.Width / 4, _
        ListView1.Columns.Add("Field 4", ListView1.Width / 4, _

        Dim ListItem1 As ListViewItem
        ListItem1 = ListView1.Items.Add("Item 1", 1)
        ListView1.Items(0).SubItems.Add("Field 2")
        ListView1.Items(0).SubItems.Add("Field 3")
        ListView1.Items(0).SubItems.Add("Field 4")

        Dim ListItem2 As ListViewItem
        ListItem2 = ListView1.Items.Add("Item 2", 1)
        ListView1.Items(1).SubItems.Add("Field 2")
        ListView1.Items(1).SubItems.Add("Field 3")
        ListView1.Items(1).SubItems.Add("Field 4")

        Dim ListItem3 As ListViewItem
        ListItem2 = ListView1.Items.Add("Item 3", 1)
        ListView1.Items(2).SubItems.Add("Field 2")
        ListView1.Items(2).SubItems.Add("Field 3")
        ListView1.Items(2).SubItems.Add("Field 4")

        ListView1.SmallImageList = ImageList1
        ListView1.LargeImageList = ImageList2
    End Sub

Most Viewed Articles (in )

Latest Articles (in

Comment on this tutorial