最良の結果を得るには、2 つのイメージリストを使用する必要があります。1 つは smallimages 用で、もう 1 つは largeimages 用です。(リストビューには、LargeImageList と SmallImageList の 2 つのプロパティがあります)
編集(試したときに機能する新しい情報が見つかりました):
このバージョンは補間を使用して小さい親指を取得していますが、より良いはずです。
Dim BigIcon As Icon = Nothing
BigIcon = Icon.ExtractAssociatedIcon("c:\zebra.zip")
Dim largeimages As New ImageList
Dim smallimages As New ImageList
largeimages.Images.Add("1", BigIcon)
'Fix a smaller version with interpolation
Dim bm As New Bitmap(BigIcon.ToBitmap)
Dim thumb As New Bitmap(16, 16)
Dim g As Graphics = Graphics.FromImage(thumb)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(bm, New Rectangle(0, 0, 16, 16), New Rectangle(0, 0, bm.Width, bm.Height), GraphicsUnit.Pixel)
g.Dispose()
bm.Dispose()
smallimages.Images.Add("1", thumb)
ListView1.SmallImageList = smallimages
ListView1.LargeImageList = largeimages
thumb.Dispose()
ListView1.Items.Add("Test", "Test", "1")