Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PropertyGrid

2 réponses
Avatar
Alex
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.

2 réponses

Avatar
VisualHint
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: http://www.codeproject.com/KB/cs/dzdynamicproperties. aspx

Cordialement,

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


On Dec 30 2007, 7:26 pm, "Alex" wrote:
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 class e 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 u ne
propriété dans lepropertygrid( entre autres ).
Mais voilà, ma propriété ne doit être readonly seulement si une au tre
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.


Avatar
Alex
Merci beaucoup pour cette piste, je m'y attèle de ce pas !

"VisualHint" a écrit dans le message de
news:
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:
http://www.codeproject.com/KB/cs/dzdynamicproperties.aspx

Cordialement,

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


On Dec 30 2007, 7:26 pm, "Alex" wrote:
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 lepropertygrid( 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.