C# C:在app.config文件中保存和加载组合框项目列表

C# C:在app.config文件中保存和加载组合框项目列表,c#,combobox,app-config,C#,Combobox,App Config,我正在尝试将组合框项目列表保存并加载到.NET设置文件app.config中 使用以下代码,我想加载并保存存储在ArrayList cboCollection中的数据 打开项目的属性页并选择设置选项卡时,我希望将{myItem1、myItem2、myItem3}存储在ArrayList cboCollection中。很遗憾,没有此类类型System.Collections.ArrayList可供选择。我做错了什么?首先,你什么也没做。您从中获取了此代码 它不起作用,因为您没有实现cboColle

我正在尝试将组合框项目列表保存并加载到.NET设置文件app.config中

使用以下代码,我想加载并保存存储在ArrayList cboCollection中的数据


打开项目的属性页并选择设置选项卡时,我希望将{myItem1、myItem2、myItem3}存储在ArrayList cboCollection中。很遗憾,没有此类类型System.Collections.ArrayList可供选择。我做错了什么?首先,你什么也没做。您从中获取了此代码

它不起作用,因为您没有实现cboCollection对象

首先你需要一个设置

然后实现你的类

[Serializable]
public MyClass
{
//something...
}
编辑: 好的,忘记类,只使用System.Collections.Specialized.StringCollection。通过这种方式,您可以将项目添加到设置中

System.Collections.Specialized.StringCollection itemList = new System.Collections.Specialized.StringCollection();
通过循环每个组合框项目,将它们填入itemList

然后,您可以执行以下操作:

Settings.Default.cboCollection = itemList;

您从中获取此代码并询问它为什么不起作用。对不起,伙计,你应该读那个答案来理解你做错了什么,我不会告诉你的。是的,我读过,但很抱歉我没有完全理解。它说,如果确实使用ArrayList,则其所有元素的类型都必须是可序列化的,并具有[serializable]属性或实现System.Runtime.Serialization.ISerializable。。我使用System.Runtime.Serialization添加了。我在哪里需要有[Serializable]属性?cboCollection是guy创建的对象的名称,你应该实现你的并在其上添加[Serializable]。我仍然不知道。cboCollection必须在哪里实施?在类设置的构造函数设置中?我认为这就是设置设计器中的类型。MyClass应该做什么,应该在哪里实现?我知道我从中获取了这段代码,我不认为这有什么错,因为我从来没有说过我自己做过这件事。我还是不明白你的答案,因为你真的不想告诉我。无论如何,我找到了一个解决办法,为那些有同样问题的人。
Settings.Default.cboCollection = itemList;