ImageList à remplir par code [Résolu]

mecyber25 38 Messages postés mardi 20 mai 2008Date d'inscription 2 septembre 2017 Dernière intervention - 14 mai 2012 à 12:42 - Dernière réponse : mecyber25 38 Messages postés mardi 20 mai 2008Date d'inscription 2 septembre 2017 Dernière intervention
- 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 

7 réponses

Répondre au sujet
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 15 mai 2012 à 09:58
+3
Utile
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é. -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimog
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 14 mai 2012 à 12:53
0
Utile
Salut,

il nous faut l'exception si tu veux qu'on t'aide.
Commenter la réponse de cs_jopop
BunoCS 13764 Messages postés lundi 11 juillet 2005Date d'inscription 20 avril 2018 Dernière intervention - 14 mai 2012 à 14:02
0
Utile
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
mecyber25 38 Messages postés mardi 20 mai 2008Date d'inscription 2 septembre 2017 Dernière intervention - 14 mai 2012 à 19:54
0
Utile
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
mecyber25 38 Messages postés mardi 20 mai 2008Date d'inscription 2 septembre 2017 Dernière intervention - 14 mai 2012 à 19:56
0
Utile
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
cs_jopop 1540 Messages postés lundi 26 mai 2003Date d'inscription 1 août 2013 Dernière intervention - 14 mai 2012 à 19:58
0
Utile
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
mecyber25 38 Messages postés mardi 20 mai 2008Date d'inscription 2 septembre 2017 Dernière intervention - 15 mai 2012 à 17:30
0
Utile
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.