ImageList
can only hold images of 256x256 pixels or less and it tranforms all images you add to the one size you set it to.
It is meant to hold small stuff, like listview&treeview images, state images and other basically icon-size graphics. - Note that by default the size and also the color depth of a ImageList.Image
are even much lower..:
ImageList is typically used by other controls, such as the ListView,
TreeView, or ToolBar. You can add bitmaps or icons to the ImageList,
and the other controls are able to use the images as they require.
ImageList.ImageSize : 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.
ImageList.ColorDepth The number of available colors for the image. In the .NET Framework
version 1.0, the default is Depth4Bit. In the .NET Framework version
1.1 or later, the default is Depth8Bit.
Your images surely are lot larger; so you need to hold the images in a List<Bitmap>
:
List<Bitmap> images = new List<Bitmap>()
Now load the list, maybe from bitmaps you have stored as a resource and then access as usual:
this.BackgroundImage = images[someNumber2];
...
Of course the alternative would be to load them from disk.