[.Net] Masquer une propriété lors d'un héritage [Résolu]

Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
- - Dernière réponse : Dalida
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
- 3 avril 2006 à 18:00
salut,



en héritant d'un contrôle je souhaite masquer plusieurs propriétés.

je connais l'attribut Browsable mais il ne concerne que le design et il
faudrait que je déclare toutes les fonctions à cacher. il y a aussi
Obsolete, pareil...



je me souviens
d'une méthode qui permet de le faire. elle s'utilise, me semble-t-il, à
l'intérieur du constructeur et prend comme paramètre le nom de la
propriété (un peu comme SetStyle).



genre :



Public Sub New ()



HideProperty(propertyName)



End Sub



si quelqu'un a plus de mémoire que moi, chui preneur !




[ Dalida ]<hr>
pensez à indiquer le langage utilisé et sa version !
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
3
Merci
Quine !



j'ai retrouvé ce dont je parlais (d'ailleurs je ne souhaitais pas masquer la propriété mais l'occulter ) !

bon le seul problème c'est que c'est bien différent de mes souvenirs, mais bon...

en fait la manip a lieu dans de Designer et permet de faire disparaitre
les propriétés au moment du design (comme BrowsableAttribute). on peut
aussi les masquer ou en créer de nouvelles (pour modifier les
propriétés il faut utiliser PostFilterProperties).



je vous file l'exemple de l'aide tel quel :



' The PreFilterProperties method is where you can add or remove

' properties from the component being designed.

'

' In this implementation, the Visible property is removed,

' the BackColor property is shadowed by the designer, and

' the a new property, called Locked, is added.

Protected Overrides Sub PreFilterProperties(ByVal properties As IDictionary)



' Always call the base PreFilterProperties implementation

' before you modify the properties collection.

MyBase.PreFilterProperties(properties)



' Remove the visible property.

properties.Remove("Visible")



' Shadow the BackColor property.

Dim propertyDesc As
PropertyDescriptor =
TypeDescriptor.CreateProperty(GetType(TabControlDesigner),
CType(properties("BackColor"), PropertyDescriptor), New Attribute(-1)
{})

properties("BackColor") = propertyDesc



' Create the Locked property.

properties("Locked") =
TypeDescriptor.CreateProperty(GetType(TabControlDesigner), "Locked",
GetType(Boolean), CategoryAttribute.Design, DesignOnlyAttribute.Yes)



End Sub




[ Dalida ]<hr>
pensez à indiquer le langage utilisé et sa version !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
15 décembre 2018
0
Merci
Bonjour

Tu peux tenter :

private shadows property .....

Shadows masque tous les membres portant le mme nom dans les classes parentes.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Messages postés
6766
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
0
Merci
>NHenry : oui, mais il faut que je déclare toutes les propriétés à masquer, c'est la même limite qu'avec les attributs.

merci quand même !




[ Dalida ]<hr>
pensez à indiquer le langage utilisé et sa version !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.