如何更改ListBox中项目的名称/字符串?

时间:2012-11-22 20:02:00

标签: c# winforms listbox

以这种方式添加项目后:

for (int x = 1; x <= 50; x++)
   {
      listBox1.Items.Add("Item " + x.ToString());
   }

我想知道如何在进行更改后更新其名称。在代码中。假设我想在索引5处更改项目的名称,我该怎么做?

显然,类似的东西不起作用:

listBox1.Items[5].???? = "new string";

2 个答案:

答案 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);