C#保存项目添加到组合框中

时间:2016-06-09 04:00:56

标签: c#

我有一个组合框,其中包含该员工选择的员工姓名。当我使用按钮添加一个名称到组合框时,是否有一种方法可以在下次启动程序时将名称保留在组合框中?下面是我的代码,用于添加我知道需要在列表中的员工姓名,然后是用于在组合框中添加名称的代码。

 private void employeeSelect_Load(object sender, EventArgs e)
    {
        cboEmpName.Items.AddRange(new string[] { "John", "Roger", "Bill", "Jason", "James" });
    }


 private void addTechbtn_Click(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(txtAddTech.Text))
        {
            cboEmpName.Items.Add(txtAddTech.Text);
            txtAddTech.Clear();
            MessageBox.Show("Technician has been added");
        }
        else
        {
            MessageBox.Show("Enter a name to add to the list");
        }
    }

2 个答案:

答案 0 :(得分:1)

如果您只想保留用户选择的最后一个值,UserSetting是保存此类值的最佳位置。

将用户设置值声明为 -

右键单击您的项目>>导航到属性>>设置

假设值为EmployeeNameCombovalue,那么您可以读取这样的值 -

var empNameVal = Properties.Settings.Default.EmployeeNameCombovalue;

为了节省一些价值 -

Properties.Settings.Default["EmployeeNameCombovalue"] = cboEmpName.Text;
Properties.Settings.Default.Save();

所以下次,当程序出现时,你检查用户设置中是否有值,如果是,则将其设置为组合框。

  

但是,如果不仅仅是保存特定值,而且你想要   保存所有下拉下拉值,然后我建议存储这些   某些持久存储中的值,如DB,并绑定您的组合框   那个数据。每当您向其添加新值时,请在数据库中添加相同的值   同时更新你的组合框数据源。

     

https://msdn.microsoft.com/en-us/library/x8160f6f%28v=vs.110%29.aspx

答案 1 :(得分:0)

有多种选择。

在某些时候,答案归结为紧急事项。我会说你最终会选择这些选项:

  1. 您可以存储在本地文件系统中,并在加载表单时再次读取它们。
  2. 将其序列化并存储在注册表中(HKEY_CURRENT_USER - 特定于用户)
  3. 将其存储在数据库中,并在需要时再次检索。
  4. .NET Application settings,提供了访问您的最简单方法 运行时的设置(选中此Example)。