C# 如何在c中使用项目设置保存comboxitems#

C# 如何在c中使用项目设置保存comboxitems#,c#,C#,我想保存我的组合框项目,以便在关闭窗口应用程序后,我恢复我保存的组合框中以前的项目。我在项目设置中声明组合框项,类型为system.collection.specialized.stringcollection。我的代码如下所示 private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.Add(Properties.Settings.Default.combox); } private void Form

我想保存我的
组合框
项目,以便在关闭窗口应用程序后,我恢复我保存的
组合框
中以前的项目。我在项目设置中声明组合框项,类型为
system.collection.specialized.stringcollection
。我的代码如下所示

private void Form1_Load(object sender, EventArgs e)
{
    comboBox1.Items.Add(Properties.Settings.Default.combox);
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{  
     ArrayList arraylist = new ArrayList(this.comboBox1.Items);
     Properties.Settings.Default.combox = arraylist;   
}
但它显示出错误:

无法将类型“System.Collections.ArrayList”隐式转换为 'System.Collections.Specialized.StringCollection'


将其放入您的
Form1\u FormClosing
方法中:

System.Collections.Specialized.StringCollection items =
    new System.Collections.Specialized.StringCollection();
items.AddRange(this.comboBox1.Items.Cast<string>().ToArray());
Properties.Settings.Default.combox = items;
System.Collections.Specialized.StringCollection项=
新的System.Collections.Specialized.StringCollection();
items.AddRange(this.comboBox1.items.Cast().ToArray());
Properties.Settings.Default.combox=项目;

从设置中获取项目并检查它们是否为空。如果它们不为null,请将它们添加到您的
组合框中。项
集合

private void Form_Load(object sender, EventArgs e)
{
    var comboboxItems = Properties.Settings.Default.ComboboxItems;
    if (comboboxItems != null)
        comboBox.Items.AddRange(comboboxItems.Cast<string>().ToArray());
}
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
    var comboboxItems = new StringCollection();
    comboboxItems.AddRange(comboBox.Items.Cast<string>().ToArray());
    Properties.Settings.Default.ComboboxItems = comboboxItems;
    Properties.Settings.Default.Save();
}