1

在我的应用程序用户设置中,我有一个StringDictionary名为“网站”。带有消息“对象引用未设置为对象的实例”的 NullReferenceException。当它到达这条线时:Properties.Settings.Default.websites.Add(nameBox.Text, urlBox.Text);,但我不知道为什么。VS 调试器显示 nameBox.Text 和 urlBox.Text 是正确的值。

编辑:

我已经确定它默认为空,所以在 Form.Load 上,我添加了

if (Properties.Settings.Default.websites == null) {
            MessageBox.Show("property is null");
            Properties.Settings.Default.websites = new StringDictionary();
}

但现在设置没有保存。

4

1 回答 1

0

看起来您的 StringDictionary 网站范围设置为在运行时无法修改的应用程序。您将范围更改为用户,以便每个用户在运行时更改它

取自 MSDN

应用程序范围的设置可用于 Web 服务的 URL 或数据库连接字符串等信息。这些值与应用程序相关联。因此,用户无法在运行时更改它们。

编辑:要保存您必须使用的设置Properties.Settings.Default.Save();

于 2012-07-23T22:30:54.517 回答