Name
ImageList
Synopsis
This System.ComponentModel.Component wraps a Win32
ImageList control. In theory, this is the best way
to manage sets of images for the UI; in practice, there are a few
complications, because it tends to reflect the fact that it is a thin
wrapper over the Win32 common control, rather than a native part of
the .NET Framework.
It offers functions to Draw() a specific image
from the list onto a System.Drawing.Graphics
surface. Unlike the standard GDI+ image classes, support for alpha
channel is limited, unless you are using Windows XP and Common
Controls v6. You can, however, set a
TransparentColor for basic transparency support.
For interop scenarios, you can retrieve the underlying
Handle and determine whether the native list has
actually been created yet with the HandleCreated
property. (The image resources are lazy-allocated the first time they
are needed).
The format of the images can be set and retrieved using the
ImageSize and ColorDepth
properties. The image data itself can be serialized and deserialized
using the ImageStream. Typically, you would be
deserializing the data from system resources, and this is all handled
for you by the design-time environment.
Finally, the actual images in the list can be accessed through the
Images property.
The ImageList control is present because several
of the Control classes that wrap Win32 objects are a thin veneer over the raw control, and therefore expose the unmanaged image list functionality. If you want to deal with ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access