Afficher des aperçus de fichiers dans un listView

Fermé
NoctisNju - Modifié le 1 août 2019 à 17:59
 NoctisNju - 28 août 2019 à 21:24
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
A voir également:

4 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
1 août 2019 à 23:58
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
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 ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
2 août 2019 à 00:42
Est-ce possible de procéder de cette façon
évidement que c'est comme ça qu'il faut faire.
0
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...
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
1 août 2019 à 22:07
Bonjour

Tu as quels types de fichiers dans tes répertoires?
0
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)
0
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à.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
28 août 2019 à 19:31
Merci bazfile
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
28 août 2019 à 18:50
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
0
Bonjour, merci pour votre réponse. Je vais essayer ça.
Merci également pour le tuto, je n'étais pas au courant
0