This documentation is archived and is not being maintained.

ListView.SmallImageList Property

Gets or sets the ImageList to use when displaying items as small icons in the control.

[Visual Basic]
Public Property SmallImageList As ImageList
[C#]
public ImageList SmallImageList {get; set;}
[C++]
public: __property ImageList* get_SmallImageList();
public: __property void set_SmallImageList(ImageList*);
[JScript]
public function get SmallImageList() : ImageList;
public function set SmallImageList(ImageList);

Property Value

An ImageList that contains the icons to use when the View property is set to View.SmallIcon. The default is a null reference (Nothing in Visual Basic).

Remarks

The SmallImageList property allows you to specify an ImageList object that contains icons to use when displaying items with small icons (when the View property is set to any value other than View.LargeIcon). The ListView control can accept any graphics format that the ImageList control supports when displaying icons. The ListView control is not limited to .ico files. Once an ImageList is assigned to the SmallImageList property, you can set the ImageIndex property of each ListViewItem in the ListView control to the index position of the appropriate image in the ImageList.

Because only one index can be specified for the ListViewItem.ImageIndex property, the ImageList objects specified in the LargeImageList and SmallImageList properties should have the same index positions for the images to display. For example, if the ImageIndex property of a ListViewItem is set to 0, the images to use for both small and large icons should be at the same index position in the ImageList objects specified in the LargeImageList and SmallImageList properties.

To set the ImageList to use when displaying items with large icons (when the View property is set to View.LargeIcon), use the LargeImageList property. If you want to use images to display item state, use the StateImageList property.

Example

[Visual Basic, C#, C++] The following example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. The example also creates ColumnHeader objects to display the subitems in details view. Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. These ImageList objects are added to the LargeImageList and SmallImageList properties. The example uses the following properties in creating the ListView control.

[Visual Basic, C#, C++] This example assumes that you have added the code to a Form and call the method created in the example from the constructor or another method on the form. The example also assumes that images named MySmallImage1, MySmallImage2, MyLargeImage1, and MyLargeImage2 are located in the root directory of drive C.

[Visual Basic] 
Private Sub CreateMyListView()
    ' Create a new ListView control.
    Dim listView1 As New ListView()
    listView1.Bounds = New Rectangle(New Point(10, 10), New Size(300, 200))

    ' Set the view to show details.
    listView1.View = View.Details
    ' Allow the user to edit item text.
    listView1.LabelEdit = True
    ' Allow the user to rearrange columns.
    listView1.AllowColumnReorder = True
    ' Display check boxes.
    listView1.CheckBoxes = True
    ' Select the item and subitems when selection is made.
    listView1.FullRowSelect = True
    ' Display grid lines.
    listView1.GridLines = True
    ' Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending

    ' Create three items and three sets of subitems for each item.
    Dim item1 As New ListViewItem("item1", 0)
    ' Place a check mark next to the item.
    item1.Checked = True
    item1.SubItems.Add("1")
    item1.SubItems.Add("2")
    item1.SubItems.Add("3")
    Dim item2 As New ListViewItem("item2", 1)
    item2.SubItems.Add("4")
    item2.SubItems.Add("5")
    item2.SubItems.Add("6")
    Dim item3 As New ListViewItem("item3", 0)
    ' Place a check mark next to the item.
    item3.Checked = True
    item3.SubItems.Add("7")
    item3.SubItems.Add("8")
    item3.SubItems.Add("9")

    ' Create columns for the items and subitems.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center)

    'Add the items to the ListView.
    listView1.Items.AddRange(New ListViewItem() {item1, item2, item3})

    ' Create two ImageList objects.
    Dim imageListSmall As New ImageList()
    Dim imageListLarge As New ImageList()

    ' Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\MySmallImage1.bmp"))
    imageListSmall.Images.Add(Bitmap.FromFile("C:\MySmallImage2.bmp"))
    imageListLarge.Images.Add(Bitmap.FromFile("C:\MyLargeImage1.bmp"))
    imageListLarge.Images.Add(Bitmap.FromFile("C:\MyLargeImage2.bmp"))

    'Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge
    listView1.SmallImageList = imageListSmall

    ' Add the ListView to the control collection.
    Me.Controls.Add(listView1)
End Sub 'CreateMyListView


[C#] 
private void CreateMyListView()
{
    // Create a new ListView control.
    ListView listView1 = new ListView();
    listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200));

    // Set the view to show details.
    listView1.View = View.Details;
    // Allow the user to edit item text.
    listView1.LabelEdit = true;
    // Allow the user to rearrange columns.
    listView1.AllowColumnReorder = true;
    // Display check boxes.
    listView1.CheckBoxes = true;
    // Select the item and subitems when selection is made.
    listView1.FullRowSelect = true;
    // Display grid lines.
    listView1.GridLines = true;
    // Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending;
                
    // Create three items and three sets of subitems for each item.
    ListViewItem item1 = new ListViewItem("item1",0);
    // Place a check mark next to the item.
    item1.Checked = true;
    item1.SubItems.Add("1");
    item1.SubItems.Add("2");
    item1.SubItems.Add("3");
    ListViewItem item2 = new ListViewItem("item2",1);
    item2.SubItems.Add("4");
    item2.SubItems.Add("5");
    item2.SubItems.Add("6");
    ListViewItem item3 = new ListViewItem("item3",0);
    // Place a check mark next to the item.
    item3.Checked = true;
    item3.SubItems.Add("7");
    item3.SubItems.Add("8");
    item3.SubItems.Add("9");

    // Create columns for the items and subitems.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

    //Add the items to the ListView.
            listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});

    // Create two ImageList objects.
    ImageList imageListSmall = new ImageList();
    ImageList imageListLarge = new ImageList();

    // Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp"));
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp"));

    //Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge;
    listView1.SmallImageList = imageListSmall;

    // Add the ListView to the control collection.
    this.Controls.Add(listView1);
}

[C++] 
private:
    void CreateMyListView() {
        // Create a new ListView control.
        ListView* listView1 = new ListView();
        listView1->Bounds = Rectangle(Point(10, 10), System::Drawing::Size(300, 200));

        // Set the view to show details.
        listView1->View = View::Details;
        // Allow the user to edit item text.
        listView1->LabelEdit = true;
        // Allow the user to rearrange columns.
        listView1->AllowColumnReorder = true;
        // Display check boxes.
        listView1->CheckBoxes = true;
        // Select the item and subitems when selection is made.
        listView1->FullRowSelect = true;
        // Display grid lines.
        listView1->GridLines = true;
        // Sort the items in the list in ascending order.
        listView1->Sorting = SortOrder::Ascending;

        // Create three items and three sets of subitems for each item.
        ListViewItem* item1 = new ListViewItem(S"item1", 0);
        // Place a check mark next to the item.
        item1->Checked = true;
        item1->SubItems->Add(S"1");
        item1->SubItems->Add(S"2");
        item1->SubItems->Add(S"3");
        ListViewItem* item2 = new ListViewItem(S"item2", 1);
        item2->SubItems->Add(S"4");
        item2->SubItems->Add(S"5");
        item2->SubItems->Add(S"6");
        ListViewItem* item3 = new ListViewItem(S"item3", 0);
        // Place a check mark next to the item.
        item3->Checked = true;
        item3->SubItems->Add(S"7");
        item3->SubItems->Add(S"8");
        item3->SubItems->Add(S"9");

        // Create columns for the items and subitems.
        listView1->Columns->Add(S"Item Column", -2, HorizontalAlignment::Left);
        listView1->Columns->Add(S"Column 2", -2, HorizontalAlignment::Left);
        listView1->Columns->Add(S"Column 3", -2, HorizontalAlignment::Left);
        listView1->Columns->Add(S"Column 4", -2, HorizontalAlignment::Center);

        //Add the items to the ListView.

        ListViewItem* temp1 [] = {item1, item2, item3};

        listView1->Items->AddRange(temp1);

        // Create two ImageList objects.
        ImageList* imageListSmall = new ImageList();
        ImageList* imageListLarge = new ImageList();

        // Initialize the ImageList objects with bitmaps.
        imageListSmall->Images->Add(Bitmap::FromFile(S"C:\\MySmallImage1.bmp"));
        imageListSmall->Images->Add(Bitmap::FromFile(S"C:\\MySmallImage2.bmp"));
        imageListLarge->Images->Add(Bitmap::FromFile(S"C:\\MyLargeImage1.bmp"));
        imageListLarge->Images->Add(Bitmap::FromFile(S"C:\\MyLargeImage2.bmp"));

        //Assign the ImageList objects to the ListView.
        listView1->LargeImageList = imageListLarge;
        listView1->SmallImageList = imageListSmall;

        // Add the ListView to the control collection.
        this->Controls->Add(listView1);
    }

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

ListView Class | ListView Members | System.Windows.Forms Namespace | ListView | LargeImageList | StateImageList

Show: