ImageList à remplir par code [Résolu]

Messages postés
38
Date d'inscription
mardi 20 mai 2008
Dernière intervention
2 septembre 2017
- - Dernière réponse : mecyber25
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Dernière intervention
2 septembre 2017
- 15 mai 2012 à 17:30
Bonjour,
pourquoi Visual Studio 2010 m'affiche un message d'erreur ("Exception non gérée...") quand je veux remplir ainsi l'imagelist ?
Tandis que si je la remplis par la fenêtre propriétés, Image, collection, tout fonctionne bien.

DirectoryInfo dir = new DirectoryInfo(@"C:\Users\etc...");
            FileInfo[] imageFiles = dir.GetFiles("*.jpg");
            ImageList imageList1 = new ImageList();
            foreach (FileInfo f in imageFiles)
            {
                imageList1.Images.Add(Image.FromFile(f.Name));
            }
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Dernière intervention
14 février 2015
36
3
Merci
Salut

Remplace
imageList1.Images.Add(Image.FromFile(f.Name));

par
imageList1.Images.Add(Image.FromFile(f.FullName));


Name correspond au nom de l'image ("toto.jpg") alors que FullName correspond au path ("C:\Users\Toto\Pictures\toto.jpg")


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -

Dire « Merci » 3

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

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de krimog
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
10
0
Merci
Salut,

il nous faut l'exception si tu veux qu'on t'aide.
Commenter la réponse de cs_jopop
Messages postés
14444
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
25 mars 2019
127
0
Merci
Hello,
Peut-être n'as-tu pas renseigner le champ Size, comme l'illustre l'exemple en milieu de cette page


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Dernière intervention
2 septembre 2017
1
0
Merci
J'ai bien rensigné le champ size
Voici le message d'erreur

Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.IO.FileNotFoundException: Paris_10 octobre 2010 (1).jpg
à System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement)
à WindowsFormsApplication1.Form1.button1_Click(Object sender, EventArgs e) dans C:\Users\Homajour\Documents\Visual Studio 2010\Projects\fractale\arbre images\arbre images\Form1.cs:ligne 27
à System.Windows.Forms.Control.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ButtonBase.WndProc(Message& m)
à System.Windows.Forms.Button.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assemblys chargés **************
mscorlib
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.269 (RTMGDR.030319-2600)
CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
arbre images
Version de l'assembly : 1.0.0.0
Version Win32 : 1.0.0.0
CodeBase : file:///C:/Users/Homajour/Documents/Visual%20Studio%202010/Projects/fractale/arbre%20images/arbre%20images/bin/Release/arbre%20images.exe
----------------------------------------
System.Windows.Forms
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.269 built by: RTMGDR
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.276 built by: RTMGDR
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.269 built by: RTMGDR
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.1 built by: RTMRel
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.235 (RTMGDR.030319-2300)
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple :

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.
Commenter la réponse de mecyber25
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Dernière intervention
2 septembre 2017
1
0
Merci
Et voici le code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DirectoryInfo dir = new DirectoryInfo(@"C:\Users\Moi\Pictures\Pictures\1");
            FileInfo[] imageFiles = dir.GetFiles("*.jpg");
 
            foreach (FileInfo f in imageFiles)
            {
                imageList1.Images.Add(Image.FromFile(f.Name));
            }
            int i = 0;
            foreach (FileInfo f in imageFiles)
            {
                TreeNode n = new TreeNode(f.Name, i, i);
                treeView1.Nodes.Add(n);
                i++;

            }

        }
    }
}
Commenter la réponse de mecyber25
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
10
0
Merci
FileNotFoundException : les noms de fichiers que tu passes à la fonction Image.FromFile() sont incorrects. Passe en mode debug pour voir la tronche de la valeur de cette variable, elle doit être en relatif et donc inutilisable pour cette méthode.
Commenter la réponse de cs_jopop
Messages postés
38
Date d'inscription
mardi 20 mai 2008
Dernière intervention
2 septembre 2017
1
0
Merci
Merci
Commenter la réponse de mecyber25

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.