Voici un moyen d'afficher une propriete qui regroupe plusieurs valeurs, par exemple dans un Textbox vous avez une propriete font qui regroupe la taille de la font, le nom etc....
voici un code qui permet de faire ca avec ces propres objets...
Ce code est la traduction en VB.net du code C# de Arthenius -->
http://www.csharpfr.com/code.aspx?ID=25912
Source / Exemple :
'VOICI LA CLASSE QUI DOIT DEFINIR MES PROPRIETES DEVANT APPARAITRE DANS LA FENETRE PROPRIETE AVEC LE PETIT PLUS...
<TypeConverter(GetType(Mon_ensemble_de_propriete_Converter))> _
Public Class Mon_ensemble_de_propriete
Private _Nom As String
Private _Prenom As String
Public Property Nom() As String
Get
Return _Nom
End Get
Set(ByVal value As String)
_Nom = value
End Set
End Property
Public Property Prenom() As String
Get
Return _Prenom
End Get
Set(ByVal value As String)
_Prenom = value
End Set
End Property
End Class
'ICI LE CONVERTER PERMETTANT D'AFFICHER LE PLUS DANS LA FENETRE PROPRIETE
Public Class Mon_ensemble_de_propriete_Converter
Inherits ExpandableObjectConverter
Public Overrides Function CanConvertTo(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal destinationType As System.Type) As Boolean
If Not destinationType.GetType().Equals(New System.ComponentModel.Design.Serialization.InstanceDescriptor(Nothing, Nothing).GetType()) Then
Return True
End If
End Function
Public Overrides Function ConvertTo(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object, ByVal destinationType As System.Type) As Object
Dim instancedescripteur As New System.ComponentModel.Design.Serialization.InstanceDescriptor(Nothing, Nothing)
If Not destinationType.GetType() Is instancedescripteur.GetType() Then
Return Me.ConvertTo(context, culture, value, destinationType)
End If
Dim ci As System.Reflection.ConstructorInfo = GetType(Mon_ensemble_de_propriete).GetConstructor(Nothing)
Return New System.ComponentModel.Design.Serialization.InstanceDescriptor(ci, Nothing, False)
End Function
End Class
'AU FINAL DANS MON OBJET J'AURAI UNE PROPRIETE DEFINIT COMME CA :
Private Arthenius As New Mon_ensemble_de_propriete()
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
Public Property Mais_qui_est_Arthenius() As Mon_ensemble_de_propriete
Get
Return Arthenius
End Get
Set(ByVal value As Mon_ensemble_de_propriete)
Arthenius = Value
End Set
End Property
Conclusion :
Voila...maintenant vous aussi vous pourrez faire des propriétés "groupés" ca evitera a tout le monde de scroller pendant trois heures la fenetre des propriétés des objets...
Si vous avez des Interrogations des appréciations n'hesitez pas...POSTER :o)))
Ce code n'est pas de moi mais de Arthenius -->
http://www.csharpfr.com/code.aspx?ID=25912
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.