ImageList.ImageSize Property

 

Gets or sets the size of the images in the image list.

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

Public Property ImageSize As Size

Property Value

Type: System.Drawing.Size

The Size that defines the height and width, in pixels, of the images in the list. The default size is 16 by 16. The maximum size is 256 by 256.

Exception Condition
ArgumentException

The value assigned is equal to IsEmpty.

-or-

The value of the height or width is less than or equal to 0.

-or-

The value of the height or width is greater than 256.

ArgumentOutOfRangeException

The new size has a dimension less than 0 or greater than 256.

Setting the ImageSize property prior to adding images to the image collection causes the images to be resized to the image size specified.

When you set the ImageSize property to a new value, the Handle for the image list is recreated.

Because setting the ImageSize property causes the handle to be recreated, you should set ImageSize prior to setting the Images property. When the handle for the ImageList has been created, setting the ColorDepth or ImageSize properties in code, after setting the Images property, will cause the collection of images set for the Images property to be deleted.

The following code example demonstrates constructing an ImageList, adding images to the Images property, setting the ImageSize property, and using the Draw method. To run this example, place it in a form containing a button named Button1. The example assumes the existence of FeatherTexture.bmp and Gone Fishing.bmp at c:\Windows\. Change the example accordingly if the bitmaps do not exist on your system, or exist at another location.

Friend WithEvents ImageList1 As System.Windows.Forms.ImageList

' Create an ImageList Object, populate it, and display
' the images it contains.
Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    ' Construct the ImageList.
    ImageList1 = New ImageList

    ' Set the ImageSize property to a larger size 
    ' (the default is 16 x 16).
    ImageList1.ImageSize = New Size(112, 112)

    ' Add two images to the list.
    ImageList1.Images.Add(Image.FromFile _
        ("c:\windows\FeatherTexture.bmp"))
    ImageList1.Images.Add _
        (Image.FromFile("C:\windows\Gone Fishing.bmp"))

    Dim count As System.Int32

    ' Get a Graphics object from the form's handle.
    Dim theGraphics As Graphics = Graphics.FromHwnd(Me.Handle)

    ' Loop through the images in the list, drawing each image.
    For count = 0 To ImageList1.Images.Count - 1
        ImageList1.Draw(theGraphics, New Point(85, 85), count)

        ' Call Application.DoEvents to force a repaint of the form.
        Application.DoEvents()

        ' Call the Sleep method to allow the user to see the image.
        System.Threading.Thread.Sleep(1000)
    Next
End Sub

.NET Framework
Available since 1.1
Return to top
Show: