2010-12-15 22 views

Répondre

2

Décore la propriété avec le CategoryAttribute, et préciser le nom de la catégorie dans laquelle vous voulez que la propriété apparaisse. Si cette catégorie n'existe pas déjà, une nouvelle sera créée automatiquement.

Par exemple, si vous avez une propriété UserName que vous souhaitez voir apparaître dans la catégorie personnalisée « Utilisateurs » dans la fenêtre Propriétés, vous pouvez écrire le code suivant dans votre contrôle personnalisé:

[Category("Users")] 
public string UserName 
{ 
    get { return _userName } 
    set { _userName = value } 
} 

Si vous Si vous souhaitez que votre propriété apparaisse dans une catégorie existante (l'une de celles qui apparaît déjà dans la fenêtre Propriétés), vous devez spécifier le nom de cette catégorie à la place. Par exemple, si je voulais la propriété UserName apparaître dans la catégorie « données », je voudrais simplement changer le code ci-dessus:

[Category("Data")] 
public string UserName 
{ 
    get { return _userName } 
    set { _userName = value } 
} 
+0

merci pour votre réponse, mais dans la catégorie de solution ci-dessus est ajouté i besoin de regrouper les propriétés – subbiah

+1

@subbiah: Je ne sais pas ce que vous Je demande. Pouvez-vous fournir une meilleure description? –

+0

désolé ami a maintenant vu votre réponse, j'ai besoin de créer des sous-groupes au sein du groupe comme groupe de polices présentes dans la grille de propriété, au sein de ce groupe les propriétés comme nom, taille, unité sera présent – subbiah

1

« ami désolé pour le moment vu votre réponse, je dois créer des sous groupes dans le groupe comme Font groupe présent dans la grille de propriété, dans ce groupe les propriétés comme Name, Size, unit seront présentes "

Ce que vous semblez décrire dans votre commentaire sont des sous-propriétés. Pour les types simples comme float si vous les exposez en tant que propriété, PropertyGrid sait déjà comment les afficher et les modifier. Les classes définies par l'utilisateur ont une implémentation par défaut qui n'autorise aucune modification et affiche le nom de la classe. Si vous souhaitez afficher les propriétés dans votre classe, vous devez ajouter ce-dessus de votre définition de classe:

[TypeConverter(typeof(ExpandableObjectConverter))] 

qui indique la grille de la propriété pour permettre à votre propriété d'être étendu pour voir les propriétés à l'intérieur.

Beaucoup plus d'informations sur le PropertyGrid se trouve ici: Getting the Most Out of the .NET Framework PropertyGrid Control

Questions connexes