繁体   English   中英

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

[英]how to make a ListBox change the text of an item?

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

如果将相同的对象引用重新分配给相同的列表框项目,则列表框将刷新其显示值。 例如:

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

this.listBox1.Items[0] = thing;

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

当您使用.ToString()添加项目时,列表框仅包含字符串本身的副本-它无法知道该项目已更改,甚至基于某个项目。 您必须自己处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM