Bonjour!!

J'ai un dictionnaire générique

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Dim monDict As New Dictionary(Of String, clsEtudiant)
ou clsEtudiant est une classe.

J'ai rempli mon dictionnaire et ça marche.

Je voudrais remplir un combobox avec monDict, le combobox dois afficher le nom de l'étudiant (étudiant.nom). Aussi le combobox dois retourner comme valeur la clé du dictionnaire (pour récupérer après las autres propriétés de l'étudiant).

Voici en example simplifie du code:
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
 
 
Dim monDict As New Dictionary(Of String, clsEtudiant)
Dim Etudiant1 as new clsEtudiant(nom1, age1, Programmation)
Dim Etudiant2 as new clsEtudiant(nom2, age2, Philosophie)
Dim Etudiant3 as new clsEtudiant(nom3, age3, Design)
 
monDict.Add("001", Etudiant1)
monDict.Add("002", Etudiant2)
monDict.Add("003",Etudiant3))
 
Dim bs As New BindingSource()
bs.DataSource = colBank
 
'cboEtudiant est le combobox
 
With cboEtudiant
   .DataSource = bs
   .DisplayMember = "Value"   ' ligne avec le probleme!
   .ValueMember = "Key"
End With


Le problème est que les valeurs dans mon dictionnaires sont objets qui appartient a la classe etudiant, pour ça

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cboEtudiant.DiaplayMember = "VALUE"
logiquement ne marche pas.... (car il peut pas afficher la class complete dans le combobox).

Mais si je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cboEtudiant.DiaplayMember = "VALUE.NOM"
il affiche dans le combobox seulement le nom de le premier étudiant... c.à.d il parait que "VALUE" cesse d'être une collection....

Quelqu'un connait comment je peux faire pour afficher etudiantX.nom dans le combobox et récupérer la clé (KEY) du dictionaire?


Merci!!

Maria Carolina