Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment charger une Listbox WinForms à la main avec DisplayMember et ValueMember ?

3 réponses
Avatar
Gilbert Tordeur
Bonjour,

Je voudrais charger par code une ListBox avec des couples clé/valeur. En
WebForm, j'écrirais :

Listbox.Items.Add(New ListItem("NomClient1",CStr(1)))

Mais en WinForms ?

Merci de votre aide,
Gilbert

3 réponses

Avatar
Jérémy Jeanson
Bonjour Gilbert,

Voici un exemple simple avec un dictionnaire

Dim liste As New Dictionary(Of Int32, String)

liste.Add(1, "Un")
liste.Add(2, "Deux")
liste.Add(3, "Trois")

Me.ListBox1.DisplayMember = "value"
Me.ListBox1.ValueMember = "key"
Me.ListBox1.DataSource = liste.ToList()

Ensuite tu peux utiliser ListBox1.SelectedValue pour récupérer la valeur
sélectionnée.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Gilbert Tordeur
Merci Jérémy.

En fait j'ai cherché un moment mais je n'ai jamais vu l'assignation à
"value" et "key". Par ailleurs j'assignais DataSource directement au
dictionnaire, sans méthode ToList. Où as-tu trouvé ces informations (si tu
t'en souviens...)

Gilbert

"Jérémy Jeanson" a écrit dans le message de news:

Bonjour Gilbert,

Voici un exemple simple avec un dictionnaire

Dim liste As New Dictionary(Of Int32, String)

liste.Add(1, "Un")
liste.Add(2, "Deux")
liste.Add(3, "Trois")

Me.ListBox1.DisplayMember = "value"
Me.ListBox1.ValueMember = "key"
Me.ListBox1.DataSource = liste.ToList()

Ensuite tu peux utiliser ListBox1.SelectedValue pour récupérer la valeur
sélectionnée.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Avatar
Jérémy Jeanson
Le ToList, c'est à force de faire du Linq, à la fin on prend l'habitude
de ces méthodes d'extension.

Pour comprendre le pourquoi et comment des strings "key" et "value",
c'est très simple : le ListBox prend sous forme de String les nom des
propriétés de l'objet utilisé comme donnée. Le Dictonary comporte une
liste d'objets disposant de propretés "key" et "value".
Tu peux donc faire la même chose avec tout type d'objet, il suffit de
prendre le nom des propriétés que tu veux associer à ton contrôle.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr