Как привязать словарь к ListBox в winforms - PullRequest
20 голосов
/ 02 октября 2009

Можно связать словарь со списком, синхронизируя его между списком и свойством члена?

Ответы [ 3 ]

38 голосов
/ 02 октября 2009
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"; 

(Бесстыдно взято из моего собственного блога: Привязка ComboBox к универсальному словарю .)

Это означает, что вы можете использовать SelectedValue, чтобы получить соответствующий словарный ключ для выбранного элемента в ListBox.

0 голосов
/ 10 октября 2016
        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();


        }
0 голосов
/ 02 октября 2009

Я думаю, вы можете использовать события для этого. Всякий раз, когда что-то изменяется в ListBox, метод eventHandler будет добавлять / удалять ту же вещь из словаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...