Jaky typ obrazku v ImageList mas je uplne jedno.
Pro vykresleni obrazku pouzij metodu ImageList.Draw(). Te jen reknes kam se ma vykreslit a jaky index z ImageListu.
Neni treba delat zadne silenosti s IconHandle apod.
Pokud si chces praci ulehcit, pouzij TListView ve stylu zobrazeni Report. Tam jen priradis index obrazku, ale zase se to sloziteji plni.
Podivej se sem:
http://www.eggheadcafe.com/community/csharp/2/1006 6040/add-image-and-text-to-the-listbox-for-winform s.aspx