【问题标题】:Multiple Listboxes bound to same List多个列表框绑定到同一个列表
【发布时间】:2023-03-27 23:10:01
【问题描述】:

我正在尝试将几个 ListBox 绑定到一个列表。当一个表单上的 ListBox 更新时,我希望它也更新另一个 ListBox。

我遇到的问题是,当我更新基础列表时,它似乎没有更新 ListBox 上的视图。如果我在调试中查看 ListBox.Items,我可以看到我添加的所有项目都在那里,但没有显示。此外,当我打开另一个在 ListBox 上显示列表的表单时,它确实正确显示了已添加的所有项目。

private List<String> _list;

public Form1()
{
   InitializeComponent();

   _list = StaticInstanceOfList.GetInstance();
   listbox1.DataSource = _list;
}

public void AddStringToList(string value)
{
   if (!_list.Contains(value))
   {
      _list.Add(value);
   }
}

【问题讨论】:

    标签: c# listbox datasource


    【解决方案1】:

    尝试使用BindingList&lt;T&gt; 来存储您的项目,然后通过DataSource 属性将此列表分配给两个列表框。

    【讨论】:

    • 是的,因为 BindingList 支持更改通知(与 List 等相比)。
    • 检查选择是否也保持正确。至少 dropdownlistbox:es 有一个错误,即它们每个都需要单独的列表作为数据源才能正常工作,否则它们会以奇怪的方式相互同步。
    【解决方案2】:

    使用bindingSource 并将两个listBoxes 绑定到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      相关资源
      最近更新 更多