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 :

[C#] UserControl - Encapsuler icone dans dll ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut [C#] UserControl - Encapsuler icone dans dll ?
    Bonjour,

    j'ai créé un usercontrole et je lui ai attribué une icone grace à la ligne suivante :

    [System.Drawing.ToolboxBitmap(@"C:\mga_button.gif")]

    Le problème est que je suis obligé de fournir l'icone avec ce controle.

    Comment encapsuler l'icone dans cette dll :

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Click droit sur le fichier .gif >> Propriétés
    >> Action de génération >> Ressource Incorporée

  3. #3
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    Merci pour votre réponse.
    Mais comment ensuite aller loader l'icone incorporée ???

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par dt
    Merci pour votre réponse.
    Mais comment ensuite aller loader l'icone incorporée ???
    j'ai pas compris

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    tu fatigues neguib


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Assembly m_assembly = Assembly.Load("Namespace1.Namespace2");
     
     btnRetour.Image = new Bitmap(m_assembly.GetManifestResourceStream("Namespace1.Namespace2.image.gif"));


    edit: JE fatigue ^^ j'ai juste lu le post de neguib

  6. #6
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    OK, bon donc je reprends.
    Je viens de faire un UserControl. Je compile, j'obtiens une dll.
    Maintenant je veux le récupérer dans la toolbox de mon IDE (Microsoft Visual Studio 2005 RC). Ok facile, clic droit dans la toolbox + choose an item...je choisi ma dll... Là, apparaît effectivement mon userControle mais avec l'icone par défaut genre engrenage violet. MAintenant je veux tout simplement changer cette icone.
    Si je fais ce que tu me dits, l'icone ne change pas.

    PS : je devrais distribuer ce usercontrole à d'autres développeurs. alors autant qu'il ai tout dans la meme dll à savoir usercontrole + l'icone a dequat.

    Merci pour ton aide.

  7. #7
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    tu as testé une chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [System.Drawing.ToolboxBitmap("namespace.ressource.image.gif")]
    parce que j'ai trouvé ca sur le net
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [System.Drawing.ToolboxBitmap( typeof(MySqlConnection), "MySqlClient.resources.connection.bmp")]

    ici, une discussion sur ton probleme
    http://www.dotnet247.com/247reference/msgs/18/92785.aspx

  8. #8
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par pharaonix
    tu fatigues neguib
    Pas sûr

    dt >> perso je n'ai aucun problème en imposant le chemin lors de l'install de la dll

  9. #9
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    oui j'ai testé : [System.Drawing.ToolboxBitmap("namespace.ressource.image.gif")] => marche po

    je test l'autre...

  10. #10
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par MSDN
    [C#]
    namespace NamespaceA
    {
    [ToolboxBitmap(typeof(ControlA), "MyBitmap.bmp")]
    public class ControlA : System.Windows.Forms.UserControl
    {
    ...
    }
    ...
    }

  11. #11
    Membre Expert

    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    1 737
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 737
    Par défaut
    http://odelmotte.developpez.com/tuto...ttributs#L1.10

    ne pas mettre l'extension du fichier quand la ressource est incorporée

    todo titi : corriger ca corrigé

  12. #12
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    MARCHE TOUJOURS PO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;
     
    namespace ValueButtonLib
    {
     
        //[System.Drawing.ToolboxBitmap(@"C:\mga_button.gif")]
     
        [ToolboxBitmap(typeof(ValueButtonLib.ValueButton), "mga_button.gif")]
     
        public partial class ValueButton : Button
        {
            private int varvalue;
     
            public int buttonvalue
            {
                get
                {
                    return varvalue;
                }
     
                set
                {
                    varvalue=value;
                }
            }
     
            public ValueButton()
            {
                InitializeComponent();
            }
        }
    }

  13. #13
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    et sans mettre l'extension pour l'image comme l'a dit titi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ToolboxBitmap(GetType(ValueButtonLib.ValueButton), "mga_button")]
    ps: j'ai mis les balises [ code]. penses-y à l'avenir si possible

  14. #14
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    idem j'ai aussi fait l'essai.

  15. #15
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    bon, je dois partir chez le toubib, je poursuivrais demain matin, merci encore et peut être à demain si tu le veux bien.
    encore merci.

  16. #16
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Une petite remarque:

    ToolboxBitmap, c'est lorque tu veux qu'une icône spécifique apparaisse dans la boîte à outils pour ton contrôle

    Ta classe doit dériver de UserContrl et pas de Button

    http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vbcon/html/vbtskProvidingToolboxBitmapForYourControl.asp

  17. #17
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par Morpheus
    Une petite remarque:
    ToolboxBitmap, c'est lorque tu veux qu'une icône spécifique apparaisse dans la boîte à outils pour ton contrôle
    Ta classe doit dériver de UserContrl et pas de Button
    http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vbcon/html/vbtskProvidingToolboxBitmapForYourControl.asp
    +1
    comme d'ailleurs le rappelait ma citation MSDN
    Citation Envoyé par Neguib
    Citation Envoyé par MSDN
    [C#]
    namespace NamespaceA
    {
    [ToolboxBitmap(typeof(ControlA), "MyBitmap.bmp")]
    public class ControlA : System.Windows.Forms.UserControl
    {

  18. #18
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    Salut,

    J'ai crée une classe ButtonTr héritée de Button, et j'ai défini l'icône comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Définition de l'icone dans le ToolBox (icone par défaut d'un bouton classique)
    [System.Drawing.ToolboxBitmapAttribute(typeof(System.Windows.Forms.Button))]
    public class ButtonTr : Button
    {
    ...
    }
    et ça fonctionne très bien.

    Bon j'ai jamais essayé d'y pousser autre chose, mais je suppose que ça doit fonctionner aussi. Sinon ce que tu peux faire c'est télécharger les codes sources des composants ADO.NET pour Firebird, la syntaxe de ce que tu cherches est dedans... (sorry mais je les ai pas sous la main)

    http://firebird.sourceforge.net/inde...id=netprovider

    @+

  19. #19
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    Idem meme si mon usercontrle derive de usercontrol.

  20. #20
    dt
    dt est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15
    Par défaut
    Bonjour SLE,

    oui il récupère bien l'icône de button. Mais non ça marche po avec une icone perso.
    Merci qd même.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Insertion d'une icone dans le SystemTray
    Par Vow dans le forum MFC
    Réponses: 23
    Dernier message: 25/01/2008, 14h50
  2. Icone dans barre taches napparait pas tjr(lancement session)
    Par souch dans le forum Composants VCL
    Réponses: 4
    Dernier message: 16/06/2004, 10h51
  3. icon dans treeview ou listview
    Par Sebinou dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2004, 00h29
  4. Afficher une icone dans DBgrid
    Par boyerf dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/02/2004, 15h45
  5. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49

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