C# 如何轻松保存组合框的条目以供下次程序启动?

C# 如何轻松保存组合框的条目以供下次程序启动?,c#,combobox,C#,Combobox,我在程序中使用下面的代码行。我通过textBox3.Text获取值,然后将其附加到已经有两个值的组合框中 comboBox2.Items.Add(textBox3.Text); 它在运行时向应用程序添加值。但是,一旦我关闭应用程序并再次运行应用程序,新增加的值就不会出现在下拉菜单中 如何将值保存到comboBox2集合。所有手册/帖子都指向“仅添加”方法,以向项目添加值。我是否遗漏了什么…关闭应用程序时,您可以通过序列化保存组合框项目: 首先,继续创建任何类,并用Serializable属性修

我在程序中使用下面的代码行。我通过textBox3.Text获取值,然后将其附加到已经有两个值的组合框中

comboBox2.Items.Add(textBox3.Text);
它在运行时向应用程序添加值。但是,一旦我关闭应用程序并再次运行应用程序,新增加的值就不会出现在下拉菜单中


如何将值保存到comboBox2集合。所有手册/帖子都指向“仅添加”方法,以向项目添加值。我是否遗漏了什么…

关闭应用程序时,您可以通过序列化保存组合框项目:

首先,继续创建任何类,并用Serializable属性修饰它。接下来,添加一个
List
类型的字段和一个空构造函数,如下所示:

[Serializable]
public class UserData //You can name this anything you like.
{
    public List<string> Data = new List<string>();
    public UserData() { }
}
要在应用程序启动期间读取数据,请使用以下代码:

UserData uData = new UserData();
foreach (object i in comboBox1.Items) // Change name of ComboBox if necessary.
{
    uData.Data.Add(i.ToString());
}
XmlSerializer xs = new XmlSerializer(typeof(UserData));
using (FileStream fs = new FileStream("userData.xml", FileMode.OpenOrCreate)) // Change path accordingly.
{
    xs.Serialize(fs, uData);
}
 XmlSerializer xs = new XmlSerializer(typeof(UserData));
 UserData deserializedData; // This is the retrieved data. Use this after the following Using Block
 using (FileStream fs = new FileStream("userData.xml", FileMode.OpenOrCreate)) //Again, change the path accordingly
 {
     deserializedData = (UserData)xs.Deserialize(fs);
 }
 //Now deserializedData contains the read data.
 comboBox1.Items.Clear(); // Delete all items...
 comboBox1.Items.AddRange(deserializedData.Data.ToArray<Object>()); //...and add the retrieved items
XmlSerializer xs=新的XmlSerializer(typeof(UserData));
UserData反序列化数据;//这是检索到的数据。在以下使用块之后使用此选项
再次使用(FileStream fs=newfilestream(“userData.xml”,FileMode.OpenOrCreate))//相应地更改路径
{
反序列化数据=(UserData)xs.反序列化(fs);
}
//现在,反序列化数据包含读取的数据。
comboBox1.Items.Clear();//删除所有项目。。。
comboBox1.Items.AddRange(反序列化ddata.Data.ToArray());/。。。并添加检索到的项目

在关闭应用程序时序列化项目,在打开时反序列化,并将项目添加到COBOBOX2中?如果项目简单,则可以考虑将其保存在新行分隔的文本文件中。打开应用程序并在TeBox中键入一些数据。然后数据显示在组合框中,您不保存数据。然后关闭应用程序。您输入的数据丢失。您不指示计算机保存数据。如果您在第二次运行程序,计算机将从何处获取数据?)请查看是否要保留在运行时在应用程序中输入的数据。