C# 如何刷新列表框的项目?

C# 如何刷新列表框的项目?,c#,winforms,listbox,C#,Winforms,Listbox,可能重复: 让我们考虑一下这个小代码: listbox.DataSource = base_items; listbox.DisplayMember = "Name"; // ... a bit later in the program base_items.Add( new Base_Item("Unnamed") ); 从这一点上讲,如何使列表框更新其项目?我查看更新的唯一方法是关闭窗口并重新加载 只需删除并再次添加数据绑定即可。 您可以创建可在首次加载和添加新项时使用的方法:

可能重复:

让我们考虑一下这个小代码:

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

从这一点上讲,如何使列表框更新其项目?我查看更新的唯一方法是关闭窗口并重新加载

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

    void BindData()
    {
        listBox.DataSource = null;
        listBox.DataSource = base_items;
        listbox.DisplayMember = "Name";
    }
下面是添加新项和刷新列表框的代码:

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

如Marc G的回答中所述

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

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

哇,奇怪的方法但很有效。非常感谢,它很有效:D我应该考虑将它设为空。。。