Listview icones

Résolu
Huracan - 12 nov. 2012 à 12:00
 Huracan - 13 nov. 2012 à 09:19
Bjr, voilà je m'adresse à vous, car je suis bloqué depuis un certain temps et je ne vois pas comment mis prendre. Je suis un grand débutant...
J'aimerais faire une listview avec des icones en LargIcon avec le nom des fichiers et par la suite pouvoir les exécuter (raccourcis et .exe).
Mon pb est que pour le moment je vois le chemin des fichiers et j'aimerais seulement voir leur nom. (J'ai une form, une listview, et une ImageList)
Merci par avance

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Try
For Each files In My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.SpecialDirectories.Desktop)
Dim icons As System.Drawing.Icon = Icon.ExtractAssociatedIcon(files)
ImageList1.Images.Add(icons)
LV_Listwiew.Items.Add(files, ImageList1.Images.Count - 1)
Next
Catch ex As Exception
End Try
End Sub

'Exécute le fichier
Private Sub LV_Listwiew_DoubleClick(sender As Object, e As System.EventArgs) Handles LV_Listwiew.DoubleClick
Process.Start(LV_Listwiew.SelectedItems(0).Text)
End Sub


PS : Je n'ai pas l'habitude de poster, alors n'hésitez pas à me dire si je ne fais pas comme il faut...

3 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
12 nov. 2012 à 18:08
Salut

Public Class Form1
  Private filenames As New List(Of String)
  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
    For Each files As String In My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.SpecialDirectories.Desktop)
                filenames.Add(files)
    Dim filename As String
   filename = My.Computer.FileSystem.GetName(files)
     Dim icons As System.Drawing.Icon = Icon.ExtractAssociatedIcon(files)
                ImageList1.Images.Add(icons)
                ListView1.Items.Add(filename, ImageList1.Images.Count - 1)
            Next
        Catch ex As Exception
        End Try
End Sub
   
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
        Try
            For Each items As String In filenames
                If items.EndsWith(DirectCast(sender, ListView).SelectedItems(0).Text) Then
                    Process.Start(items)
                    Exit For
                End If
            Next

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

    End Sub
End Class
3
Utilisateur anonyme
12 nov. 2012 à 19:34
Bonsoir,

Personnellement, je met le chemin complet du fichier dans le tag du ListViewItem :
dim item as new ListViewItem(IO.Path.GetFilenameWithoutExtension(files),ImageList1.Images.Count - 1)
item.tag = files
Listview1.items.add(item)
 

Puis on récupère le tag comme ceci :
Process.Start(CType(Listview1.selecteditems(0).tag, String))
3
Un grand grand merci à vous, je vais enfin pouvoir avancer !
0
Rejoignez-nous