我在组合框中设置Data source from SQL
Data Binding Mode
,其中我有ID和姓名。
现在我想要,当用户选择combobox
并选择name
时,ID
的{{1}}将存储在name
中。因此,下次用户运行应用程序时,不需要再次选择它。
我尝试用:
settings.settings
我的问题是,如果我更改了private void cbWorkingPlace_SelectedIndexChanged(object sender, EventArgs e)
{
int NameId= Int32.Parse(cbName.SelectedIndex.ToString());
Properties.Settings.Default.NameId= NameId;
Properties.Settings.Default.Save();
}
,那么combobox
就会保存好,但是当我关闭应用时,ID
会更改为ID
我该如何防止这种情况?
答案 0 :(得分:1)
每次更改Settings
索引时,请勿写入ComboBox
。
将ComboBox
的值绑定到自定义属性,一旦调用某个事件,就会将该属性的数据存储在Settings
中。这可以通过“保存按钮”完成,这将为用户提供有关正在发生的事情的明确反馈。
另一种方法是打开另一个视图以进入这些设置,一旦用户需要关闭视图才能返回,在此时保存您的设置。
验证您正在保存/使用的数据总是一个好主意,因此无论如何直接绑定到您的数据存储都不是一个好主意。