从项目设置自动完成源代码

时间:2016-11-02 00:59:24

标签: c# winforms autocomplete textbox application-settings

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

我用过

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

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

当我尝试在设置页面上手动将成员添加到该集合时,我收到一条错误消息“类型上的构造函数”System.String“未找到”。

1 个答案:

答案 0 :(得分:0)

您可以定义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 ;