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#] Classe C# et attribut Browsable fonction d'une option


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 32
    Points : 24
    Points
    24
    Par défaut [C#] Classe C# et attribut Browsable fonction d'une option
    Bonjour,

    J'ai une classe avec des propriétés pouvant être modifiées par l'utilisateur à travers l'utilisation d'un PropertyGrid. Il y a plus de 250 propriétés, et par soucis de clarté, je souhaite laisser le soin à l'utilisateur de personnaliser les champs qu'il souhaite voir dans le PropertyGrid. Ces préférences seraient stockée dans un fichier .settings, pour plus de souplesse et par soucis de légèreté du code.

    Mais l'attribut Browsable ne peut pas prendre de variable en paramètre.

    Je suis donc à la recherche d'une solution me permettant de définir à la volée la visibilité de la propriété dans le PropertyGrid en fonction du paramètre adéquat dans le fichier .settings.

    J'avais trouvé un truc trop compliqué sur code-project pour être utilisable : le code était trop dépendant de tout un tas de contrôles créés par l'auteur, et faire le tri aurait était trop long.

    Merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Ca devrait pouvoir se faire en dérivant la classe BrowsableAttribute.
    Cette classe dérivé surcharge BrowsableAttribute.Browsable pour renvoyer Yes ou No suivant le settings.

    Edit : Raté, BrowsableAttribute est une classe sealed
    On ne peut pas faire boire un âne qui n'a pas soif.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Sealed et readonly, c'est dommage, ca serait très puissant...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Bon, j'ai résolu le problème. J'ai finalement utilisé le code dont je parlais dans mon premier post (article que l'on peut trouver ici : http://www.codeproject.com/csharp/dz...roperties.asp). Le nettoyage a été long, mais j'ai finalement extrait tout ce dont j'avais besoin.

    Reste plus qu'à m'armer de courage pour concevoir le fichier settings qui va permettre à l'utilisateur de modifier ses 250 propriétés

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 13/03/2014, 18h04
  2. Réponses: 8
    Dernier message: 13/03/2014, 11h24
  3. Réponses: 8
    Dernier message: 04/07/2007, 20h43
  4. Réponses: 2
    Dernier message: 17/04/2007, 17h14
  5. Réponses: 14
    Dernier message: 15/01/2004, 01h15

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