【问题标题】:How refresh items of a ListBox? [duplicate]如何刷新ListBox的项目? [复制]
【发布时间】:2012-12-21 23:40:09
【问题描述】:

可能重复:
C# Force ListBox to update elements

让我们考虑一下这段代码:

listbox.DataSource = base_items;
listbox.DisplayMember = "Name";
// ... a bit later in the program
base_items.Add(  new Base_Item("Unnamed")  );

从这一点来看,我该如何让列表框更新其项目?我看到更新的唯一方法是关闭窗口并重新加载。

【问题讨论】:

    标签: c# winforms listbox


    【解决方案1】:

    只需删除并再次添加数据绑定。 您可以创建可在首次加载和添加新项目时使用的方法:

        void BindData()
        {
            listBox.DataSource = null;
            listBox.DataSource = base_items;
            listbox.DisplayMember = "Name";
        }
    

    所以这里是添加新项目和刷新列表框的代码:

        base_items.Add(new Base_Item("Unnamed"));
        BindData();
    

    【讨论】:

    • 非常感谢,它有效 :D 我应该考虑让它为空...
    【解决方案2】:

    正如 Marc G 的回答中提到的那样。

    C# Force ListBox to update elements

    如果您知道列表需要刷新,只需更新列表框的DisplayMember

    listbox.DisplayMember = "";
    listbox.DisplayMember = "Name";
    

    【讨论】:

    • 哇,奇怪的方法但有效。
    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 2016-04-07
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多