EmacLi
Messages postés165Date d'inscriptionjeudi 3 novembre 2005StatutMembreDernière intervention 1 février 2013
-
23 janv. 2006 à 16:21
EmacLi
Messages postés165Date d'inscriptionjeudi 3 novembre 2005StatutMembreDernière intervention 1 février 2013
-
25 janv. 2006 à 10:31
Bonjour à tous !
Quelqu'un saurait il comment attribuer une icone à un composant windows ?
Je travail avec .NET 2005 et j'ai créé une bibliothèque de composant windows.
Mon composant et créé mais lorsque je référence ma dll dans un autre projet, le composant apparait avec l'icone par défaut (un rouage violet).
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 25 janv. 2006 à 09:49
Je vais le refaire et te donner les etapes une par une.
- Je crée un projet de type "Class Library"
- Il me crée une classe "Class1", je la renomme "TestControl"
- Je renomme aussi l'espace de nom "MyControl"
- J'ajoute a mon projet les references System.Windows.Forms, et System.Drawing.
- Je déclare dans ma classe les espaces de nom System.Windows.Forms et System.Drawing
- Je fais hériter Test1 de Control
- J'ajoute a mon projet le bmp qui me servira d'icone (que j'ai nommé avec originalité : icon.bmp"
- Je vais dans les propriétés de cet icone, et dans "Build Action", je met "Embedded resource"
- Dans mon code je me place juste au dessus de la déclaration de ma classe, et je tape :
[
ToolboxBitmap(
typeof(MyControl.
TestControl),
"icon.bmp")]
-Je compile mon projet et je le ferme
- J'ouvre un nouveau projet, de type Windows Forms
- En mode design, dans la toolbar, je fais clic-droit -> "Choose items..."
- Dans la fenetre qui apparait, je clic sur le bouton "Browse", et je navigue jusqu'au chemin de mon Control
- Une fois seletionné, il apparait dans ma toolbar, et avec l'icone
Voila
Comme code dans mon Control, je n'ai que ca :
Pourquoi est-ce que tu ne peux pas lui indiquer le nom complet ?
Si jamais tu n'est pas sur que ton icone ait été embarquée, tu peux verifier avec l'outil ILDASM (dans le manifest)
EmacLi
Messages postés165Date d'inscriptionjeudi 3 novembre 2005StatutMembreDernière intervention 1 février 20131 24 janv. 2006 à 09:19
Merci pour l'info mais ca ne marche toujours pas.
J'ai intégré mon image en tant que ressource, elle s'appelle DropDownButton.bmp.
Ma classe s'appelle DropDownButton et mon namespace s'appelle Composants.
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 24 janv. 2006 à 09:48
Salut,
Ca a marché chez moi, mais je t'accorde que c'est pas toujours facile.
En fait, j'ai du creer un projet dans une autre solution que celle dans laquelle le controle se trouvait, et l'ajouter manuellement a la ToolBox pour que cela fonctionne. Essaie de voir ce que ca donne pour toi.
Au fait, dans typeof, n'hesite pas a mettre le nom complet (namespace.nomducontrole)
EmacLi
Messages postés165Date d'inscriptionjeudi 3 novembre 2005StatutMembreDernière intervention 1 février 20131 25 janv. 2006 à 09:29
Re MorpionMx,
J'ai créé un projet windows application ou j'ai été chercher mon composant par la toolbox mais l'icon par défaut est toujours la.
Pourtant dans ma librairie de composant je met bien mon icon en ressource qui est en faite un fichier .bmp, mais rien n'y fait.
Pour le nom complet c'est pas possible, je ne peux pas lui indiquer.
Pourrrais tu me faire voir le début de ta classe ou les informations qui m'interesse apparaissent ?
EmacLi
Messages postés165Date d'inscriptionjeudi 3 novembre 2005StatutMembreDernière intervention 1 février 20131 25 janv. 2006 à 10:31
Merci ca marche.
La seule différence c'est que moi j'avais créé une bibliotheque de composant et non une bibliothèque de classe.
C'est pour ca aussi que je ne pouvais pas indiquer le nom complet de ma classe en plus de ne pas voir mon icon.