gratifiant > microsoft.* > microsoft.dotnet.vb

Alex (31/12/2007, 02h26)
Bonjour,

J'ai fais beaucoup de recherche sur le sujet mais il ne semble pas y avoir
de solutions à mon problème.
Il est possible de définir les attributs de la propriété d'une classe dans
le code. Mais il n'est pas possible d'en modifier dynamiquement sa valeur,
la lire oui, la modifier non.
Ma question porte en fait sur le ReadOnlyAttribut, qui, permet de griser une
propriété dans le propertygrid ( entre autres ).
Mais voilà, ma propriété ne doit être readonly seulement si une autre
propriété est à une certaine valeur.

Quelqu'un aurait-il une idée pour me sortir du pétrin ?

Merci d'avance pour vos réponses.
VisualHint (02/01/2008, 22h14)
Bonjour Alex,

oui il y a une solution. Elle n'est pas directe cependant et demande
un peu de travail. Puisque un attribute defini au design-time n'est
pas modifiable au runtime, il vous faut definir un custom
TypeConverter ou TypeDescriptor qui va publier une liste de custom
PropertyDescriptor. C'est dans cette derniere classe que vous pourrez
redefinir la methode IsReadOnly en fonction de votre autre element
exterieur. Voila pour les pistes a suivre. Il y a beaucoup de
resources sur le net pour tout ca. Si vous voulez un point de depart,
vous pouvez consulter le site PropertyGridResourceList.

Il y a aussi un article CodeProject qui implemente exactement ces
techniques. C'est ici:

Cordialement,

Nicolas Cadilhac @ VisualHint ()
Home of Smart PropertyGrid for .Net and MFC (
index.php/propertygrid)
Microsoft PropertyGrid Resource List -
Home of Smart FieldPackEditor.Net / DateTimePicker replacement (http://
)

On Dec 30 2007, 7:26 pm, "Alex" <py> wrote:
[..]
Alex (06/01/2008, 22h45)
Merci beaucoup pour cette piste, je m'y attèle de ce pas !

"VisualHint" <cadilhac> a écrit dans le message de
news:2c68
Bonjour Alex,

oui il y a une solution. Elle n'est pas directe cependant et demande
un peu de travail. Puisque un attribute defini au design-time n'est
pas modifiable au runtime, il vous faut definir un custom
TypeConverter ou TypeDescriptor qui va publier une liste de custom
PropertyDescriptor. C'est dans cette derniere classe que vous pourrez
redefinir la methode IsReadOnly en fonction de votre autre element
exterieur. Voila pour les pistes a suivre. Il y a beaucoup de
resources sur le net pour tout ca. Si vous voulez un point de depart,
vous pouvez consulter le site PropertyGridResourceList.

Il y a aussi un article CodeProject qui implemente exactement ces
techniques. C'est ici:


Cordialement,

Nicolas Cadilhac @ VisualHint ()
Home of Smart PropertyGrid for .Net and MFC (
index.php/propertygrid)
Microsoft PropertyGrid Resource List -

Home of Smart FieldPackEditor.Net / DateTimePicker replacement (http://
)

On Dec 30 2007, 7:26 pm, "Alex" <py> wrote:
[..]
Discussions similaires