如何使ListBox更改项目的文本?

时间:2009-09-03 15:55:17

标签: .net listbox

我有.net winforms ListBox,我使用.Add()添加了项目。我更改了列表中的一个对象,这样它的ToString()方法现在返回一个不同的值,但该项的显示值不会更新。我需要调用什么来告诉ListBox重新读取ToString值?

2 个答案:

答案 0 :(得分:4)

如果将同一对象引用重新分配给同一列表框项,则列表框将刷新其显示值。 e.g:

Thingy thing = this.listBox1.Items[0];
thing.DoSomethingThatChangesToStringReturnValue();

this.listBox1.Items[0] = thing;

答案 1 :(得分:3)

由于您手动添加了项目,因此您需要清除列表框项目,然后重新添加它们。

当您使用.ToString()添加项目时,列表框只有字符串本身的副本 - 它无法知道项目已更改,或者它甚至基于项目。你必须自己处理这个问题。