2013-12-17 2 views
0

Как я могу сделать мои изображения с просмотром списка, Что не так с моим кодом?Как сделать listview показать изображения

Dim lines As String() = listaa.Split(",")   
    lines = lines.Where(Function(s) s.Trim() <> String.Empty).ToArray() 

    For Each item In lines 

    Next 

    ListView1.Items.Clear() 
    Dim imageListSmall As New ImageList() 
    Dim imageListLarge As New ImageList() 
    imageListSmall.ImageSize = New Size(80, 80) 
    imageListLarge.ImageSize = New Size(110, 110) 
    For Each line In lines 
     Dim item1 As New ListViewItem(line, 1) 
     ListView1.Items.AddRange(New ListViewItem() {item1}) 
     'dsadsadsa 


     Dim lool$ = line.IndexOf("watch?v=") + 8 
     Dim lengg$ = line.Length - lool 

     Dim tClient As WebClient = New WebClient 
     Dim tImage As Bitmap = Bitmap.FromStream(New MemoryStream(tClient.DownloadData("http://i1.ytimg.com/vi/" & line.ToString.Substring(lool, lengg).Trim & "/hqdefault.jpg"))) 
     imageListSmall.Images.Add(line.ToString.Substring(lool, lengg).Trim, tImage) 
     imageListSmall.Images.Add(line.ToString.Substring(lool, lengg).Trim, tImage) 


     ListView1.LargeImageList = imageListLarge 
     ListView1.SmallImageList = imageListSmall 
    Next 


    Me.Controls.Add(ListView1) 
    ListView1.Columns.Add("Video found", -2, HorizontalAlignment.Left) 

so, again Что случилось со мной кодом? почему изображения не показывают вверх в ListView1, но только текст

 ListView1.View = View.LargeIcon 
     ListView1.AllowColumnReorder = False 
     ListView1.GridLines = False 
     ListView1.Sorting = SortOrder.Ascending 

ответ

0

каждый ListViewItem вы хотите отобразить изображение должно иметь ImageKey или ImageIndex` набор, чтобы указать, какое изображение в ImageList относится к нему:

item1.ImageIndex = 1 
    ' or 
    item1.ImageKey = "Video" 

Вам нужно только установить ImageList один раз (ваш код делает это снова и снова в цикле).

Когда вы строите ImageList (ы) вы можете назначить клавишу в то же самое время, что вы добавляете изображение:

imgList.Images.Add("Fruit", My.Resources.Fruit) 
    imgList.Images.Add("Veggie", My.Resources.Veggie) 

    ' then assign to an item: 
    newItem.ImageKey = "Fruit" 

Поскольку вы разборе это с веб-сайта, вы можете захотеть, чтобы проверить в конце, чтобы увидеть, добавлены ли какие-либо изображения. Если вы просто используете индекс для запуска (Item1.ImageIndex = someVar), вы сможете увидеть, есть ли какие-либо из них в ImageList.

+0

так я добавить item1.ImageKey = line.ToString.Substring (Lool, lengg) .trim в финале между listview1.sm [...] и рядом И ничего happends: < –

+0

хорошо, независимо от ключа вы также должны назначить этот ключ одному из изображений в списках. убедитесь, что вы назначаете тот же текст на изображение Imagelist при его создании. См. Редактировать – Plutonix

Смежные вопросы