0

我目前正在构建一个应用程序,该应用程序利用 ComboBox 允许用户从 BindingList 对象中包含的 String 对象的动态列表中进行选择。但是,BindingList 是属于主类的子类的成员,这似乎会导致一些问题。

当 ComboBox 的数据源最初通过以下方式在主类中设置时:

this.comboBox.DataSource = this.childClass.dataList;

ComboBox 的内容按预期显示。但是,当列表的内容发生变化时,ComboBox 的内容不会更新。

如果 BindingList 对象属于主类,则 ComboBox 会更新而不会出现任何问题。父类似乎没有收到表明列表已更新的事件。

有任何想法吗?

4

1 回答 1

0

在查看了我去年提出(并回答)的一个类似问题后:

从 C# 中的 ComboBox 添加/删除 COM 端口

,看来我已经(重新)发现了解决方案。问题在于如何将字符串添加到数据源中。因为该列表在另一个线程中被扩充,所以更新 ComboBox 控件时出现了问题。通过使用委托和 Invoke() 方法,组合框的内容现在按预期更新。

于 2012-06-20T15:05:57.953 回答