在C#WinForms中检索上次保存的值

时间:2012-01-26 14:00:30

标签: c#

假设我有一个表单,其中组合框有一些选项。现在,在该程序的第一次运行时,用户从组合框中选择一个选项,并通过按钮单击或其他方式保存它。现在,如果用户终止应用程序并再次运行第二次,有没有办法检索上次保存的选择?

这意味着,如果从组合框中选择option1并终止应用程序。一段时间后,您再次启动应用程序,现在您的组合框应该显示选项1,因为在上一个会话中,您选择了它。

我希望你能理解我的想法。

3 个答案:

答案 0 :(得分:4)

使用Settings

// To Load (after combo box binding / population)
private void LoadSelection()
{
    int selectedIndex = 0;

    if (int.TryParse(Properties.Settings.Default.comboBoxSelection, out selectedIndex))
    {
        cbMyComboBox.SelectedIndex = selectedIndex;
    }
}

// saving on button click.
private void saveButton_Click(object sender, EventArgs e)  
{  
    //set the new value of comboBoxSelection 
    Properties.Settings.Default.comboBoxSelection = cbMyComboBox.SelectedIndex;  

    //apply the changes to the settings file  
    Properties.Settings.Default.Save();  
}  

请参阅here for more detail

答案 1 :(得分:1)

您必须手动保存该值并在程序启动时再次加载它。

使用Visual Studio执行此操作的简便方法是创建一个Settings类。在VS中,右键单击您的项目,单击“添加新项”,滚动到“设置文件”,然后添加。 VS将向您显示一个UI,您可以在设置对象中创建新属性,您可以选择名称。

如果我创建一个名为“ComboboxValue”的字符串类型的新属性,我可以在代码中引用它Settings1.Default.ComboboxValue = "hello world";

这是关于它的MSDN:

http://msdn.microsoft.com/en-us/library/a65txexh(v=vs.100).aspx

答案 2 :(得分:0)

您可以添加设置 在项目下的解决方案资源管理器上,属性文件夹 添加资源“string”为其命名为“selected”,例如 然后

// this is save button
Properties.Settings.Default.selected = comboBox1.SelectedIndex;
Properties.Settings.Default.Save(); 

// this is retrieve (use it in window_load event for example)
comboBox1.SelectedIndex = Convert.ToInt32(Properties.Settings.Default.selected);