.net 如何使列表框更改项目的文本?

.net 如何使列表框更改项目的文本?,.net,listbox,.net,Listbox,我有一个.net winforms列表框,并使用.Add()向其中添加了项。我更改了列表中的一个对象,使得它的ToString()方法现在返回一个不同的值,但该项的显示值不会更新。我需要调用什么来告诉列表框重新读取ToString值?因为您已经手动添加了项目,所以需要清除列表框项目,然后重新添加它们 使用.ToString()添加项时,列表框中只有字符串本身的一个副本—它无法知道该项是否已更改,或者该项是否基于某个项。您必须自己处理此问题。如果将同一对象引用重新分配给同一列表框项目,列表框将刷新

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

因为您已经手动添加了项目,所以需要清除列表框项目,然后重新添加它们


使用.ToString()添加项时,列表框中只有字符串本身的一个副本—它无法知道该项是否已更改,或者该项是否基于某个项。您必须自己处理此问题。

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

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

this.listBox1.Items[0] = thing;