Embedded icon dans visual c#: intégrer des icones à son programme

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 918 fois - Téléchargée 28 fois

Contenu du snippet

Salut,
Après avoir un peu galéré pour trouver comment accéder à des icones qui seraient intégrés à l'exe (pas séparés de l'appli dans un dossier...ni en format texte dans le .resx...). Je n'ai pas trouvé la solution dans le forum (bien qu'il y ait deux, trois discussions à ce sujet.

Dans Visual C#: dans le "solution explorer" de votre projet (monprojet1 par exemple) vous faites "add an existing Item", vous allez chercher votre .ico (on dira icon1.ico). Dans les propriétés...vous le passez en "Embedded Ressource"

Source / Exemple :


System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
this.monTruc_A_Icon.Icon = new System.Drawing.Icon(a.GetManifestResourceStream("monprojet1.icon1.ico"));

Conclusion :


Celà paraitra peut-etre evident à certains...
Mais perso...moi j'ai galléré pour trouver celà

Ziad O Hanlon

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
6 mai 2010

Pour récupèrer une ressource du gestionnaire de ressource de l'application.

using System.Resources;

ResourceManager rm = new ResourceManager(typeof( myNamespace.Properties.Resources));

Icon MyIcon = (Icon)rm.GetObject("NomDeMaRessource");
Messages postés
2
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
12 octobre 2007

Bonjour,
je souhaite ajouter des icônes dans mon executable et pouvoir les utiliser (pour les associer à une extension de fichier par exemple) en spécifiant leur index dans l'executable. Comme le fait shell32.dll par exemple.
La technique que vous proposez (bien que très intéressante) ne rend pas visibles les icônes de l'executable quand on veut changer l'icône d'un raccourci ou qu'on utilise un programme dédié à cette tâche (Extracteur d'icones en l'occurence).
Y a t'il un moyen de le faire avec Visual 2005 (personnellement je le faisais avec Visual 6 et c'étati bien pratique).
Merci d'avance.
Messages postés
5
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
17 août 2006

Oui...le pb est plus simple à résoudre...il a évolué l'IDE de Microsoft...
Merci pour vos remarques ! :)
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
3
- Dans votre projet, ajoutez votre fichier image.
- Puis, dans ses propriétés, spécifiez "Action de génération" à : Ressource incorporée.
- Enfin, dans votre code, pour pouvoir chargez votre image, tapez le code suivant :

System.Reflexion.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
Bitmap bitmap = new Bitmap(asm.GetManifestResourceStream("Namespace_de_l_assembly.nom_du_fichier"));
Afficher les 13 commentaires

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.