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 :

Comment récuperer la valeur d'un enum sélectionné dans une combobox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut Comment récuperer la valeur d'un enum sélectionné dans une combobox
    Bonjour,

    Je cherche à récupérer la valeur de l'enum sélectionné dans ma combobox:
    mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim SlotList() As ReaderType = {ReaderType.S1 _
    			,ReaderType.DEST_S2 _
    			,ReaderType.DEST_S3 _
    			,ReaderType.DEST_S4}
    ComboBox1.DataSource = SlotList
    Je cherche ensuite à récupérer la valeur sélectionné dans la combobox comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim SortieSelect As ReaderType = comboBox1.SelectedItem
    Mais dans ce cas là, j'ai le warning suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Conversion implicite de 'Object' en 'MonApplication.eDestReaderType'. (BC42016)

    Merci pour votre aide.

  2. #2
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Bonjour,

    Essaie de faire un cast :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim SortieSelect As ReaderType = DirectCast(comboBox1.SelectedItem, ReaderType)
     ou
    Dim SortieSelect As ReaderType = Ctype(comboBox1.SelectedItem, ReaderType)

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Je ne suis pas sûr de bien comprendre le problème.

    D'abord, dire qu'il s'agit d'une Enum est sans doute une façon de parler car Dim SlotList() As ReaderType est la déclaration d'un tableau (un vecteur) de valeurs de type ReaderType.
    Mais cela tombe bien pour l'affecter à un ComboBox. Mais là, l'affectation du DataSource ne me paraît pas suffisante. Il conviendrait d'affecter aussi le DisplayMember (et peut-être aussi le ValueMember, cela dépend de ce qu'on espère retirer de ce ComboBox).
    Mais finalement, ne vaudrait-il pas mieux créer un DataTable à lier au ComboBox plutôt qu'un simple vecteur dans lequel les champs n'ont ordinairement pas de nom (ici, il faudrait en savoir plus sur ta classe ReaderType).

    En fait qu'est-ce qui est affiché sans le ComboBox ? et la lecture de comboBox1.SelectedItem.ToString ne te donnerait-elle pas ce que tu veux ?

    ...

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/01/2009, 13h41
  2. Réponses: 12
    Dernier message: 18/06/2008, 14h20
  3. Réponses: 2
    Dernier message: 04/05/2006, 11h34
  4. Réponses: 3
    Dernier message: 18/06/2005, 00h31
  5. [VB+IE] Comment sélectionner dans une combobox d'une page IE
    Par danje dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/05/2005, 09h10

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