odeesey
Messages postés21Date d'inscriptionvendredi 7 novembre 2008StatutMembreDernière intervention27 février 2013
-
14 janv. 2012 à 15:43
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
14 janv. 2012 à 19:06
Bonjour,
J'ai un petit souci ,donc j'ai une listeview et je voudrai afficher une liste d'icone dedans
mais le probleme qu'il ne s'affiche pas sous forme d'image il s'affiche que le chemin complet en 'string'alors je butte...
Voici le code que j'utilise :
Public Class icone
Private Sub icone_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim nombre As Integer
For Each file As String In System.IO.Directory.GetFiles(My.Computer.FileSystem.CurrentDirectory & "\Image")
Dim img As System.Drawing.Image = Image.FromFile(file)
nombre += 1
ImageList1.Images.Add(img)
Dim a As New ListViewItem
a.Text = file
a.ImageIndex = nombre
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 14 janv. 2012 à 16:08
Salut
Quand tu colles du code, utilise la coloration syntaxique (3eme icone à droite) = plus facile à relire et conserve les indentations.
A ma connaissance, les icones associés aux items d'une ListView doivent être stockés dans une ImageList, et cette ImageList liée à la ListView.
Il va donc te falloir extraire l'icone de chaque fichier rencontré, l'insérer dans une ImageList, puis dire à ton Item que son icone se trouve à l'index X.
Je ne sais pas si ça a changé depuis VB6, mais une ImageList n'est modifiable que si elle n'est pas encore associé à une ListView. Il te faudra donc jongler avec la connexion avant de pouvoir insérer ton image.
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 14 janv. 2012 à 19:06
Bonsoir
il faut ajouter
a.SmallImageList = ImageList1
ou
a.LargeImageList = ImageList1
Public Class icone
Private Sub icone_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim nombre As Integer
'il suffit de le declarer une fois
Dim a As New ListViewItem
For Each file As String In System.IO.Directory.GetFiles(My.Computer.FileSystem.CurrentDirectory & "\Image")
Dim img As System.Drawing.Image = Image.FromFile(file)
nombre += 1
a.SmallImageList = ImageList1
ImageList1.Images.Add(img)
a.Text = file
a.ImageIndex = nombre
ListView1.Items.Add(a)
Next
End Sub
End Class