IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Liste de choix du type string dans un champ du PropertyGrid [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut Liste de choix du type string dans un champ du PropertyGrid
    Bonjour à tous,
    J'aurais bien besoin de votre aide pour le problème cité en objet.
    Je me suis inspiré de ces 2 exemples ci-dessous et j'arrive à personnaliser les champs sans liste de choix du type Integer, single, double, string avec mise en forme via un TypeConverter.
    Je sais aussi personnaliser les choix du type Boolean via un BooleanConverter et également les Enum via un EnumConverter.

    https://www.codeproject.com/Articles...g-PropertyGrid
    https://www.cyotek.com/blog/creating...nverter-part-1

    Mon problème est que j'aimerais afficher une List(of string) pour faire un choix dans la liste et stocker l''élément dans la propriété string de mon objet. Je pense que les Enum ne conviendront pas car ma liste possède un nombre d'éléments qui peux varier au contraire des Enum qui ont un nombre d'éléments fini.

    Il existe tous un tas de TypeConverter comme les StringConverter, les TypeListConverter ou encore les CollectionConverter et j'avoue que je ne sais déjà pas lequel choisir, comment charger ma liste et ensuite obtenir l'élément. je suppose qu'il faut utiliser les méthodes ConvertTo et ConvertFrom mais un exemple serait vraiment le bienvenue.

    En vous remerciant.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut
    J'ai trouvé...Héhé
    Dans mon exemple ma liste de string s'appelle : ListeDataTypes

    Ma Classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Public Class ListeTypes
        Implements IValueListTypes
        Private Shared _Liste As List(Of String)
        Shared Sub New()
            _Liste = ListeDataTypes
        End Sub
        Public Function GetValues() As IEnumerable(Of String) Implements IValueListTypes.GetValues
            Return _Liste
        End Function
    End Class
     
    Public Interface IValueListTypes
        Function GetValues() As IEnumerable(Of String)
    End Interface
     
    Public Class StringListConverter(Of VALUES As {IValueListTypes, New})
        Inherits TypeConverter
     
        Public Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function
     
        Public Overrides Function GetStandardValues(ByVal context As ITypeDescriptorContext) As StandardValuesCollection
            Dim values As VALUES = New VALUES()
            Return New StandardValuesCollection(values.GetValues.ToList())
        End Function
    End Class
    Mon Objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public class MonObjet
            <Category("B-Propriétés")>
            <Description("Catégorie de l'équipement")>
            <TypeConverter(GetType(StringListConverter(Of ListeTypes)))>
            Public Property Type As String
                Get
                    Return _Type
                End Get
                Set(ByVal value As String)
                    _Type = value
                    MyBase.OnPropertyChanged()
                End Set
            End Property
    End Class

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/12/2008, 10h50
  2. variable de type string dans une requete sql
    Par hammag dans le forum JDBC
    Réponses: 9
    Dernier message: 15/06/2008, 01h32
  3. choix du type mime dans input de type file
    Par beyo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 04/01/2008, 18h43
  4. Réponses: 7
    Dernier message: 23/03/2007, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo