假设我有一个表单,其中组合框有一些选项。现在,在该程序的第一次运行时,用户从组合框中选择一个选项,并通过按钮单击或其他方式保存它。现在,如果用户终止应用程序并再次运行第二次,有没有办法检索上次保存的选择?
这意味着,如果从组合框中选择option1并终止应用程序。一段时间后,您再次启动应用程序,现在您的组合框应该显示选项1,因为在上一个会话中,您选择了它。
我希望你能理解我的想法。
答案 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();
}
答案 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);