Embedded icon

dinytro Messages postés 31 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 juillet 2005 - 20 avril 2005 à 11:35
dinytro Messages postés 31 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 juillet 2005 - 20 avril 2005 à 16:19
Bonjour,


je développe une palli dans laquelle j'ai ajouté une icone en "embedded resources"
(Add->ExistingItem->demoDirectory.ico)
J'ia bien mis la propriété Buil Actiion à "embedded reources" et je voudrais ajouter cette icon à une imageList par le code.


J'ai tapé ceci

Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Drawing.Icon ico = new System.Drawing.Icon(
assembly.GetManifestResourceStream(this.GetType (),"demoDirectory.ico"));
_imageList.Images.Add(ico);


et j'ai l'erreur suivante :


An unhandled exception of type 'System.ArgumentException' occurred in system.drawing.dll


Additional information: 'null' is not a valid value for 'stream'.


Cette erreur apparait au niveau de la construction de l'icon (la ligne avec new donc ...)


mon icon existe bien et je ne me suis pas trompé dans le nom ?
est ce que quelqu'un y comprend auelque chose ?


merci

4 réponses

cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
20 avril 2005 à 12:04
Je crois que tu dois introduire le nom du namespace "." le nom de l'image si mes souvenirs sont bons.
assembly.GetManifestResourceStream(this.GetType (),"MyNamespace.demoDirectory.ico"));

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
20 avril 2005 à 12:10
je confirme, c'est ce qu'il faut faire
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
20 avril 2005 à 12:11
arf, dsl j'aurais du aussi preciser, si dans ton projet le namespace est A et que dans ton projet tu est en "Solution View" et que tu rajoute un dossier "res" par exemple, dans lequel tu met tes images, il te faudra tapper ceci :

assembly.GetManifestResourceStream(this.GetType (),"A.res.truc.ico"));
0
dinytro Messages postés 31 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 20 juillet 2005
20 avril 2005 à 16:19
oui effectivement, il faut rajouter le nom du namesapce.
mais le problème venant du fait que le namesapce n'avait pas le même nom pour mes icônes.
J'ai vu ce problème avec I LDASM sous visual.

sebseb42 a écrit :
assembly.GetManifestResourceStream(this.GetType (),"A.res.truc.ico"));

ceci n'est pas indispensable.
je suis venu à bout de mon problème de cette amnière :


string localNamespace =
this.GetType().Namespace;
System.Drawing.Bitmap bmp;
bmp =
new System.Drawing.Bitmap(

this.GetType().Assembly.GetManifestResourceStream(localNamespace + "icons.folder.png"));
imgList.Images.Add(bmp);



pour les ICO c'est la même chose avec ico à la place de bitmap

voila
merci à tous
0
Rejoignez-nous