将字典键值键入列表框并在此后删除

时间:2013-08-18 06:27:40

标签: vb.net data-binding dictionary listbox

我正在尝试将密钥从dictionary绑定到listbox。我还想创建一个按钮,允许我从listboxdictionary中删除项目。

修改

我使用以下代码将dictionary绑定到listbox

listbox.DataSource = new BindingSource(dictionary, nothing)
listbox.DisplayMember = "Value"
listbox.ValueMember = "Key"

但是,当我尝试使用以下代码从列表框中删除所选项目时:

listbox.Items.Remove(listbox.SelectedItem)

我收到错误消息“设置DataSource属性时无法修改项目集合”。我怎么能避免这个?

2 个答案:

答案 0 :(得分:1)

您是否只是在寻找

lb.Items.AddRange(dict.Keys.ToArray())

答案 1 :(得分:0)

由于您正在绑定数据源,是否不会从字典而不是列表框中删除该项?

Dict.Remove(listbox.SelectedValue)

这应该从列表框中删除,因为它们绑定在一起