【问题标题】:how to make a ListBox change the text of an item?如何使 ListBox 更改项目的文本?
【发布时间】:2023-03-28 15:53:02
【问题描述】:

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

【问题讨论】:

    标签: .net listbox


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-08
        • 2019-11-10
        • 1970-01-01
        相关资源
        最近更新 更多