从项目设置自动完成源

Autocomplete source from project settings

我想制作一个自动完成字符串集合并在运行时编辑它(向集合添加更多文本)以用于搜索文本框。并在列表框中列出此集合。但是这个集合应该存储在应用程序设置中,并在我重新启动应用程序时恢复。我该怎么做 ?我尝试添加 System.Windows.Forms.AutoCompleteStringCollection 类型的设置。

我用过

string newsuggestion = textBox1.Text;
Settings.Default.derslistesi.Add(newsuggestion);

"derslistesi" 是我的应用程序设置中 System.Windows.Forms.AutoCompleteStringCollection 设置的名称。这没有用。我无法在运行时编辑集合成员。

当我尝试在设置页面上手动将成员添加到该集合时,我收到一条错误消息,显示 "Constructor on type "System.String“未找到”。

您可以定义 System.Collections.Specialized.StringCollection 类型的设置 属性 并将其命名为例如 MyProperty。您还可以使用设计器为其添加一些值。

要在 运行 时向集合中添加值:

Properties.Settings.Default.MyProperty.Add("Some Value");
Properties.Settings.Default.Save();

要将值设置为文本框的自动完成源:

var source = new AutoCompleteStringCollection();
source.AddRange(Properties.Settings.Default.MyProperty.Cast<string>().ToArray());
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteCustomSource = source ;