IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Personnalisation de composants


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut Personnalisation de composants
    Bonjour à tous !

    J'aurais voulu savoir comment on modifie l'image d'un composant qui dois s'afficher dans la toolbox de visual studio lorsque celui-ci n'est aps un usercontrol mais un héritage d'un composant.

    Je m'explique : Je dois, dans le cadre d'un projet, modifier l'interface de certains éléments pour les rendre plus "sympa" graphiquement. Voulant faire un test, j'ai hérité une classe de "CheckBox" et j'ai redéfini la méthode "OnPaint". L'interface fonctionne à merveille et le composant aussi.

    Voulant que ça soit plus sympa à utiliser car j'aimerais sortir ce composant dans une dll, j'ai ajouté quelques éléments qui sont dans les propriétés d'édition mais je n'arrive pas à modifier l'icône qui s'affiche dans la Toolbox de visual studio (là ou on peux choisir ses composants).

    J'ai essayé la méthode cité dans un tutoriel sur ce site, j'ai inclut le fichier image, j'ai essayé différent format, mis dans le projet directement, dans un fichier ressource, incorporé à la compilation et les autres options, j'ai testé de changer le nom etc... rien à faire ! J'ai toujours un petit rouage bleu quoi que je fasse.

    En regardant sur le net, j'ai pu voir que certains utilisaient un usercontrol, je ne 'lai pas fais (car je veut exactement une checkbox classique mais qui contient un graphisme différent).

    Seriez-vous comment faire et auriez vous un exemple? Merci !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113

  3. #3
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Merci mais ça ne fonctionne pas (même en faisant un copier-coller de l'exemple et en y mettant un fichier ".bmp" dans le chemin comme dans l'exemple en 16x16)

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113

  5. #5
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    J'ai testé ce qu'il y a marqué sur le lien et, dans l'autre projet de la solution, j'ai toujours le petit rouage. Par contre, j'ai utilisé une petit méthode depuis la msdn et qui permet de prendre l'image en propriété et j'ai bien la bonne image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            private Image GetImageOfCustomControl(Control userControl)
            {
                Image controlImage = null;
                AttributeCollection attrCol = TypeDescriptor.GetAttributes(userControl);
                ToolboxBitmapAttribute imageAttr = (ToolboxBitmapAttribute)
                    attrCol[typeof(ToolboxBitmapAttribute)];
                if (imageAttr != null)
                {
                    controlImage = imageAttr.GetImage(userControl);
                }
     
                return controlImage;
            }
    Je ne comprend pas pourquoi, dans visual studio je n'ai toujours pas mon image...

    voici ma propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        [ToolboxBitmapAttribute(typeof(CustomCheckBox), "a.bmp")]
        public class CustomCheckBox : CheckBox
    Je ne comprend pas là...

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    le ToolboxBitmapAttribute posède 3 surcharges, dont 2 buggées ...

    et la 3ème fonctionne seulement quand la dll est mise dans une autre solution en tant que référence, ca ne fonctionne pas pour une solution contenant la dll en code source et d'autres projets à côté

    bonne chance ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/04/2014, 00h54
  2. Personnaliser un Composant
    Par sovo dans le forum Android
    Réponses: 4
    Dernier message: 26/11/2011, 14h49
  3. [CR 2008] Personnalisation des composants visuels CR
    Par sisqo60 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 07/07/2009, 13h57
  4. Vue propriété Eclipse personnalisée pour composants Swing
    Par nicolas33400 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 02/07/2008, 00h54
  5. [FLASH MX] Personnalisation des composants
    Par leanita dans le forum Flash
    Réponses: 1
    Dernier message: 05/09/2006, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo