Il est possible de lier un dictionnaire à une liste, en maintenant la synchronisation entre la liste et la propriété membre?Comment lier le dictionnaire à ListBox dans WinForms
19
A
Répondre
35
var choices = new Dictionary<string, string>();
choices["A"] = "Arthur";
choices["F"] = "Ford";
choices["T"] = "Trillian";
choices["Z"] = "Zaphod";
listBox1.DataSource = new BindingSource(choices, null);
listBox1.DisplayMember = "Value";
listBox1.ValueMember = "Key";
(Shamelessly levé de mon propre blog. Bind a ComboBox to a generic Dictionary)
Cela signifie que vous pouvez utiliser SelectedValue pour mettre la main sur la clé de dictionnaire correspondante pour l'élément sélectionné dans la zone de liste.
0
Je pense que vous pouvez utiliser des événements pour cela. Chaque fois que quelque chose change dans ListBox, une méthode eventHandler va ajouter/supprimer la même chose du dictionnaire.
0
label1.Text= listBox1.SelectedIndex.ToString();
if (listBox1.SelectedItem is KeyValuePair<int,DockStyle>)
{
var temp1 = (KeyValuePair<int, DockStyle>)listBox1.SelectedItem;
label3.Text = temp1.Key.ToString();
label4.Text = temp1.Value.ToString();
}
Questions connexes
- 1. Comment afficher un dictionnaire dans un ListBox
- 2. Comment lier le résultat de DataTable.Select() à un contrôle ListBox?
- 3. comment lier une liste à une liste déroulante? (Winforms)
- 4. WinForms: Lier des actions ensemble
- 5. valeurs sélectionnées de la listbox (winforms)
- 6. Couleur d'arrière-plan d'un élément ListBox (winforms)
- 7. Silverlight/WPF impossible de lier ListBox
- 8. Dictionnaire de liaison WPF <chaîne, Liste <string> à listView, ListBox comment?
- 9. Comment lier un ComboBox dictionnaire générique via ObjectDataProvider
- 10. C#: Comment lier le texte d'un bouton winforms à une ressource
- 11. Comment lier à Popup.IsOpen à Validation.HasError dans le code
- 12. C# Lier la liste générique à TextFox WinForms?
- 13. Pourquoi puis-je lier à ListBox mais pas à DataGrid dans WPF?
- 14. Comment lier un compte de liste à une étiquette dans WinForms?
- 15. Clé dans le dictionnaire
- 16. comment accéder à l'élément dictionnaire dans le modèle django?
- 17. Comment insérer des valeurs dans le dictionnaire C# à l'instanciation?
- 18. Comment lier correctement un ListBoxItem dans WPF?
- 19. Silverlight: Comment lier dynamiquement une zone de liste déroulante dans un ItemTemplate ListBox?
- 20. Compter booléens dans le dictionnaire
- 21. ListBox DrawItem HotLight State dans le mode OwnerDraw?
- 22. TextBox, Button et ListBox dans un ListBox
- 23. Comment fonctionne le dictionnaire savedState dans le programme d'installation?
- 24. Comment lier un contrôle WinForms DataGridView à une base de données SQL Server
- 25. comment faire un ListBox changer le texte d'un article?
- 26. Impossible LISTBOX et UpdateTarget à travailler
- 27. Comment contourner le besoin de mettre à jour un dictionnaire
- 28. Lier le gestionnaire à l'événement Sys.Component.propertyChanged d'Ajax
- 29. XAML: se lier à un seul enfant dans une collection
- 30. Comment lier dans WPF un objet entier à un contrôle utilisateur?
Existe-t-il réellement un 'BindingSource' là? –
Ouais dans mon expérience, il a besoin de la BindingSource. –
J'ai essayé ceci, et cela fonctionne partiellement, c'est-à-dire si je le fais, après avoir défini la source de données pour la liste: choix ["M"] = "abc"; choix.Retirer ("T"); la liste ne reflète pas les changements dans le dictionnaire de choix ... –