Afficher des aperçus de fichiers dans un listView [Fermé]

Signaler
-
 NoctisNju -
Bonjour,

C'est dans le cadre de la réalisation d'un programme similaire à l'Explorateur de fichiers que je vous sollicite.
Dans mon programme, le listView affiche les différents éléments se trouvant dans le dossier sélectionné par l'utilisateur. Pour ceci, une image est choisie dans une imageList en fonction de s'il s'agit d'un fichier ou d'un dossier, et l'élément est affiché à l'utilisateur avec l'image choisie.
Le problème est que je veux non pas afficher des images prédéfinies mais des aperçus des différents éléments.
Auriez-vous une aide à m'apporter ?

Respectueusement,

Noctis Nju

4 réponses

Messages postés
14566
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 août 2020
559
Pour les images, je pense que tu peux simplement les charger dans la listview.
Pour les vidéo, c'est un peu plus compliqué, prendre une image dans le fichier n'est pas représentatif, et afficher une séquencette je ne pense pas que ça marche avec une listview.

Peut-être avec un FlowLayoutPanel dans lequel tu mettrais des lecteurs de média.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56945 internautes nous ont dit merci ce mois-ci

Pour les images, selon moi je ne peux pas charger les images dans la listView car je ne sais pas de quelles images il s'agit avant d'ouvrir le dossier qui les contient avec mon programme.
C'est comme l'explorateur de fichiers, quand tu vas dans tes dossiers contenant tes images, l'explorateur n'a pas toutes les images d'enregistrées au préalable pour les afficher...
Autre exemple : Si, une fois l'application terminée, tu télécharges une nouvelle image, il sera impossible d'en afficher un aperçu, d'où le problème...
Il faudrait dans l'absolu que la listView soit créée (ou du moins modifiée) à chaque nouveau chargement du contenu d'un dossier pour pallier à ce problème ? Est-ce possible de procéder de cette façon et si oui, n'y en a-t-il pas de meilleures ?
Messages postés
14566
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 août 2020
559
Est-ce possible de procéder de cette façon
évidement que c'est comme ça qu'il faut faire.
Merci pour cette réponse, je vais travailler sur ça et verrais si j'y arrive et si ça fonctionne bien.
Je donnerai des nouvelles de mon avancée, à suivre...
Messages postés
14566
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 août 2020
559
Bonjour

Tu as quels types de fichiers dans tes répertoires?
Bonjour,

Dans un premier temps, j'aimerai orienter mon projet pour des fichiers de type .jpg / .png ... (Tout type d'images), puis dans un second temps, je souhaiterai faire de même pour ceux de type .mkv / .mp4 (Vidéos)
Bonjour,
je n'arrive pas à remplir imageList3 car le chemin d'accès à l'image est incorrect : Image.FromFile(listView1.Items[i].Name) dans le code qui suit :

// Méthode pour remplir imageList3 par des aperçu d'image des documents qui sont des images :
        public void RemplirImages(string Chemin)
        {
            for (int i = 1; i <= listView1.Items.Count; i++)
            {
                imageList3.Images.Add("N°" + i, Image.FromFile(listView1.Items[i].Name));
            }
        }


Auriez-vous une solution pour y remédier svp ?

Modifié par la modération voilà Whismeril la couleur est là.
Messages postés
14566
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 août 2020
559
Merci bazfile
Messages postés
14566
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 août 2020
559
Bonjour

pour charger une image, il faut un chemin qui existe, si
istView1.Items[i].Name
vaut un truc qui ressemble à
"C:\temp\img0001.jpg"
alors cela devrait marcher, mais je suppose que ça n'est pas le cas.
Comme tu as une variable chemin en paramètre, je suppose qu'elle serait utile, elle pourrait contenir
"C:\temp
ou équivalent et p'tet que
listView1.Items[i].Name
contient
"img0001.jpg"
auquel cas, il suffit de construire le chemin en concaténant les variables.
Mais cela reste hypothèse de ma part, seul toi sais ce que contient Chemin et
listView1.Items[i].Name


PS pour poster un code merci de lire et d'appliquer ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Bonjour, merci pour votre réponse. Je vais essayer ça.
Merci également pour le tuto, je n'étais pas au courant