C# Propriétés en mode design
Bonjour,
--------
J'ai dérivé la classe Label pour en faire un genre de "Led".
Je rencontre des problèmes avec le designer, qui modifie deux de mes valeurs imposées dans le constructeur : AutoSize et Text
AutoSize doit rester à false dans mon cas. J'y suis arrivé en forçant la valeur de retour de la propriété comme ceci :
Code:
1 2 3
|
public override bool AutoSize
{ get { return false; } } |
Ca fonctionne parfaitement, mais la propriété bloquée à "false" demeure visible dans le mode design, ce qui n'a évidemment aucun sens.
J'ai alors tenté d'utiliser l'attribut suivant :
Code:
1 2 3 4
|
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public override bool AutoSize
{ get { return false; } } |
Mais ça n'a strictement aucun effet. J'ai essayé toutes sortes d'attributs, mais je ne dois pas avoir trouvé le bon.
Concernant ma propriété Text, c'est plus délicat. Si je force comme ci-dessus, j'obtiens bien un texte vide, mais l'utilisateur ne peut plus changer.
Ce que je voudrais, c'est que par défaut dans le designer la zone "texte" soit vide, mais qu'au besoin on puisse y mettre quelque chose (utile seulement dans 2 ou 3 cas dans mon application).
Dit autrement, j'arrive soit à autoriser l'utilisateur à modifier mais alors le designer me place sa propre valeur par défaut.
Soit j'arrive à imposer ma propre valeur par défaut, mais l'utilisateur ne peut plus rien modifier.
Si quelqu'un peut me mettre sur la voie, je l'en remercie :)
A+
Claude