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 :
Ca fonctionne parfaitement, mais la propriété bloquée à "false" demeure visible dans le mode design, ce qui n'a évidemment aucun sens.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public override bool AutoSize { get { return false; } }
J'ai alors tenté d'utiliser l'attribut suivant :
Mais ça n'a strictement aucun effet. J'ai essayé toutes sortes d'attributs, mais je ne dois pas avoir trouvé le bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)] public override bool AutoSize { get { return false; } }
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
Partager