Réference d'assembly manquante

Signaler
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010
-
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010
-
Bonjour

Dans mon appli, j'affiche le contenu d'un répertoire dans un treeview grâce à l'appel d'une fonction récursive.
Pour améliorer un peu l'affichage, j'aimerai rajouter l'icone correspondant à l'extension devant le nom du fichier. pour faire cela j'ai utilisé le code suivant:
 [DllImport("shell32.dll", EntryPoint = "ExtractAssociatedIcon")]
        private extern static IntPtr ExtractAssociatedIcon
        (
            IntPtr hInst,
            [MarshalAs(UnmanagedType.LPStr)] string lpIconPath,
            ref int lpiIcon
        );
        Icon ico = null;
        // On affiche l'icone correspondante
                IntPtr hInst = Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]);
                Int32 iIcon = 0;
                // file est le chemin vers ton fichier
                IntPtr hIcon = ExtractAssociatedIcon(hInst, f.Name, ref iIcon);
                ico = Icon.FromHandle(hIcon);

        // Lorsqe l'on dessisne la fenètre, on affiche (dessine) l'icone
        private void PaintForm(object sender, System.Windows.Forms;.PaintEventArgs e)
        {
            e.Graphics.DrawIcon(ico, 36, 44);
        }


Mais losque je compile il m'affiche l'erreur suivante:
Le type ou le nom d'espace de noms 'Windows' n'existe pas dans l'espace de noms 'System' (une référence d'assembly est-elle manquante ?)

Je me demandais si quelqu'un pouvait m'aider
Merci

13 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
A part un ; en trop entre Forms et .PaintEventArgs, je ne vois pas trop d'où peut venir le problème.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010

merci pour votre reponse
non le ; ce n'est qu'un faute de frappe lors du copie du code
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
13
Essaye d'ajoute la référence sur System.Windows.Forms.
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010

oui j'ai essayé mais tjrs la même erreur
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
13
L'erreur vient bien de cette ligne là ?
private void PaintForm(object sender, System.Windows.Forms;.PaintEventArgs e)
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010

oui l'erreur vient de cette ligne
private void PaintForm(object sender, System.Windows.Forms.PaintEventArgs e)


avez vous une idée?
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
13
La seule raison est qu'il te manque une référence sur System.Windows.Forms. Pour l'ajouter Projet/Ajouter une référence.
Je ne vois vraiment rien d'autre.
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010

merci GG29, mais savez vous quelle référence dois-je ajouter?
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Tu es bien sur une application de type Windows Forms, tu ne fais pas une application en WPF par hasard ?


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
13
Comme je l'ai indiqué : System.Windows.Forms
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010

pour "casy": comme j'ai déjà dit je suis entrain de developper une application web donc web forms
et pour GG29: j'ai ajouter using System.windows.forms et tjrs la même erreur qui s'affiche!!!!!
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
13
Je ne t'ai pas dis d'ajouter using System.windows.forms. Ce que je t'ai dit c'est d'ajouter une référence dans ton projet. Pour cela tu vas dans le menu Projet / Ajouter une référence. La tu choisis System.Windows.Forms.
Messages postés
23
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
9 juin 2010

merci GG29 ça marche, mais je n'arrive pas encore à afficher les icones par défaut de mes fichier dans le TreeView
avez vous une idée comment faire?