【发布时间】:2018-09-15 19:31:35
【问题描述】:
我有一个ComboBox 和一个DataSource 设置为应用程序设置,如下所示
public DetailsForm()
{
InitializeComponent();
this.comboBox1.DataSource = TextSelectionSettings.Default.categories;
}
但如果用户在运行时需要,我希望用户在组合框中添加额外的项目。所以我只是在一个文本框上做了一个简单的点击事件来测试向列表中添加一个新字符串。
private void textBox1_MouseClick(object sender, MouseEventArgs e)
{
TextSelectionSettings.Default.categories.Add("test");
TextSelectionSettings.Default.Save();
}
但是ComboBox 没有显示我添加到设置中的新字符串。
如何刷新ComboBox 以显示设置的更改?
-
组合框上的
Refresh()功能不起作用。 - 再次设置
DataSource也不起作用。 - 我无法使用
Items.Add()方法将Item直接添加到ComboBox,因为设置了DataSource。
【问题讨论】:
-
为了让它接受更改,它必须实现
INotifyPropertyChanged或INotifyCollectionChanged。尝试设置DataSource = null,然后重新设置。 -
@RonBeyer 将 DataSource 设置为 null 然后再次返回到工作类别,谢谢