Подтвердить что ты не робот

Как связать словарь с ListBox в winforms

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

4b9b3361

Ответ 1

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.

Ответ 2

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

Ответ 3

        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();


        }