NameValueCollection不保存到Properties.Settings

时间:2016-12-11 13:38:42

标签: c# namevaluecollection

我在名为Properties.Settings的{​​{1}}中添加了strCol类型的条目。我使用它来将列表视图中的项目保存到设置中,以便在应用程序重新启动时,ListView会再次使用之前保存的项目重新填充。我只存储ListViewItems中的项目名称和标签。

但是有些奇怪的事情发生了我无法解释。

我正在使用此代码将项目保存到设置中:

NameValueCollection

出于某种原因,只要应用程序仍处于活动状态,保存和加载设置就可以正常工作。但是,当关闭并重​​新启动应用程序时,负载并不像NameValueCollection nvCol = new NameValueCollection(); foreach (ListViewItem lviP in lvParmNames.Items) { nvCol.Add(lviP.Text, lviP.Tag.ToString()); } Properties.Settings.Default.strCol = nvCol; Properties.Settings.Default.Save(); 未保存那样起作用。

我在这里缺少什么?

我目前如何加载设置:

加载的调用,但它在检查时似乎已失败,如果它为null

NameValueCollection

刚注意到一些事情:

settings

虽然我在部分中添加了NameValueCollection,但在构建应用程序时实际上并未添加它。当我打开配置文件时,设置不存在。 所以我想问题就在这里,不过现在我需要弄清楚如何添加它。

查看if (Properties.Settings.Default.strCol != null) { NameValueCollection nv = Properties.Settings.Default.strCol; foreach (string key in nv) { try { var value = nv[key]; ListViewItem lvi = new ListViewItem(key); lvi.Tag = value; lvFamNames.Items.Add(lvi); } catch (Exception ex) { TaskDialog.Show("Error", "Error while parsing Family Names from saved settings. \n" + ex.Message); } } } 文件,我猜这部分看起来与NameValueCollection的类型有关:

Settings.Designer.cs

0 个答案:

没有答案