以这种方式添加项目后:
for (int x = 1; x <= 50; x++)
{
listBox1.Items.Add("Item " + x.ToString());
}
我想知道如何在进行更改后更新其名称。在代码中。假设我想在索引5处更改项目的名称,我该怎么做?
显然,类似的东西不起作用:
listBox1.Items[5].???? = "new string";
答案 0 :(得分:4)
只是
listBox1.Items[5] = "new string";
ListBox.ObjectCollection
是实现IList
的项目集合。索引将给出项目本身。所以你可以直接分配它。
答案 1 :(得分:1)
您应该可以使用以下内容:
private void UpdateListBoxItem(ListBox lb, object item) {
int index = lb.Items.IndexOf(item);
int currIndex = lb.SelectedIndex;
lb.BeginUpdate();
try {
lb.ClearSelected();
lb.Items[index] = item;
lb.SelectedIndex = currIndex;
}
finally {
lb.EndUpdate();
}
}
这就是用法:
MyObject item = (MyObject)myListBox.Items[0];
item.Text = "New value";
UpdateListBoxItem(myListBox, item);