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#] [Property] [Collection]


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Wis
    Wis est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 22
    Par défaut [C#] [Property] [Collection]
    Bonjour,

    J'essaye de creer une propriety de type collection, jusque la , ca fonctionne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    public ArrayList ListeColonnesACacher
    {
    get {return m_ColsACacher;}
    set {m_ColsACacher.Add(value);
    }		
    }
    j'ai donc dans les parametres de l'objet la proprieté ListeColonnesACacher et quand je clic sur le bouton (...) j'ai bien une nouvelle fenetres qui s'ouvre (avec add , remove ...)

    le probleme, c'est que je ne sais pas exactement comment parametrer le contenu de cette fenetre, je pensait a une classe avec une interface ... mais j'ai peu de piste la.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut Re: [c#][Property][collection]
    Citation Envoyé par Wis
    je pensait a une classe avec une interface ...
    Ouais, en POO, utiliser des classes et des interfaces c'est une bonne piste, aucun doute...

    Cela dit j'ai rien compris à ton problème...

  3. #3
    Wis
    Wis est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 22
    Par défaut
    Dans Forms, on a des property,

    par exemple pour la form :
    Text
    size

    ect

    bref, certains de ces proprietés sont des collections (il y en a plusieurs donc). et dans ce cas, tu as un bouton a coté de ta propriete qui te permets d'ajouter un ou plusieurs objects dans cette proprieté (exemple dans un datagrid-->property->TableStyle)

    quant tu clics sur se bouton, tu as une autre fenetre qui s'ouvre, qui elle te permet d'ajouter ou de supprimer un des elements de cette proprieté( un tablestyle par exemple)


    ici, quant je met simplement un arrayliste en propriete, j'ai une fenetre comme celle pour les tablestyle, si ce n'est qu'elle ne contient pas grand chose ...

    ce que j'aimerais bien faire, c'est ajouter des proprietés dans cette petite fenetre.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    oulalala...c'est la journée de ceux qui ne peuvent rien faire sans les assistants...

    Je crois plus ou moins voir ce que tu veux dire, mais je ne peux pas t'aider, j'ai jamais utilisé l'éditeur de propriétés.

  5. #5
    Wis
    Wis est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 22
    Par défaut
    arf, non, le produit qu'on m'a demandé doit fonctionner a l'aide de l'assistant ...donc, je ne peux pas faire autrement :/

  6. #6
    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 Re: [C#] [Property] [Collection]
    Citation Envoyé par Wis
    Bonjour,

    J'essaye de creer une propriety de type collection, jusque la , ca fonctionne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    public ArrayList ListeColonnesACacher
    {
    get {return m_ColsACacher;}
    set {m_ColsACacher.Add(value);
    }		
    }
    j'ai donc dans les parametres de l'objet la proprieté ListeColonnesACacher et quand je clic sur le bouton (...) j'ai bien une nouvelle fenetres qui s'ouvre (avec add , remove ...)

    le probleme, c'est que je ne sais pas exactement comment parametrer le contenu de cette fenetre, je pensait a une classe avec une interface ... mais j'ai peu de piste la.
    juste une question comme ca : value, quel est son type ?

    sinon

    essaie deja avec une collection plutot qu'avec une arraylist, je suis plus sur du résultat (j'ai pas testé avec les arraylist)

    avec une collection, celle-ci doit etre sérialisable (héritage de collection base et rajout des fonctions Add, Remove et Item)

    l'élément de base de ta collection doit être de sérialsable et posseder un typeconverterattribute, je te laisse chercher sur la msdn, c'est assez long à expliquer et il doit implémenter l'interface icloneable

    dès que j'ai un peu plus de temps vers fin octobre, je me remet sur mon tuto de création des contrôles intégrés a vs.net, promis

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par défaut Re: [C#] [Property] [Collection]
    Citation Envoyé par Wis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public ArrayList ListeColonnesACacher
    {
      get { return m_ColsACacher; }
      set { m_ColsACacher.Add(value); }
    }
    Vire déjà le set, il est à la fois incorrect et inutile.
    Pour l'intégration dans le designer, je suis dans le même cas que Keihilin par contre :)
    Il y a probablement des attributs à appliquer. Faudrait voir ce qui est fait quand tu ajoutes des contrôles du même genre via le designer.

    Citation Envoyé par titi
    essaie deja avec une collection plutot qu'avec une arraylist,
    Un ArrayList est une collection hein :)
    (tiens, c'est vrai que logiquement il faudrait dire 'une' arraylist. mais 'un' sonne beaucoup mieux, donc tant pis, y a qu'à parler anglais :)

    Mais donc, l'ArrayList dispose de toutes les fonctionnalités nécessaires. Faut juste voir ce dont le designer a besoin. Ça doit bien être documenté quelque part sur MSDN.

  8. #8
    Wis
    Wis est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 22
    Par défaut Re: [C#] [Property] [Collection]



    juste une question comme ca : value, quel est son type ?
    object ... je vais essayer d'heriter de l'arraylist pour surcharger la fonction add pour qu'elle ne revoie que ma classe parametres ..


    sinon, en quoi le set est inutile et incorrecte ?

  9. #9
    Wis
    Wis est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 22
    Par défaut
    Bon, je n'y arrive pas ... quelqu'un aurais une piste supplementaire ?

  10. #10
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Salut

    Tous les gadgets pour les proprietes c'est dans System.ComponentModel

    Tu as vraiement un paquet de chose la-bas, je te conseille d'etudier attentivement les membres de cette classe du framework.

    des liens en vrac:
    http://www.thecodeproject.com/cs/miscctrl/globalizedpropertygrid.asp
    http://www.codeproject.com/cs/miscctrl/customizingcollectiondata.asp
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcomponentmodeldesignerserializationvisibilityattributeclasstopic.asp

  11. #11
    Wis
    Wis est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 22
    Par défaut
    Merci, je crois que je vais trouver mon bonheure la dedans

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/03/2011, 12h15
  2. Ecrire dans une property collection
    Par Mafious dans le forum Struts 1
    Réponses: 3
    Dernier message: 28/09/2009, 20h23
  3. Réponses: 11
    Dernier message: 29/05/2009, 09h44
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49

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