1

アプリケーションのユーザー設定には、StringDictionary「Web サイト」という名前があります。「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージを含む NullReferenceException。この行に到達したとき: Properties.Settings.Default.websites.Add(nameBox.Text, urlBox.Text);、しかし、理由がわかりません。VS デバッガーは、nameBox.Text と urlBox.Text が正しい値であることを示しています。

編集:

デフォルトでnullだと判断したので、Form.Loadに追加しました

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

しかし、今は設定が保存されていません。

4

1 に答える 1

0

StringDictionary Webサイトのスコープがアプリケーションに設定されているようですが、実行時に変更することはできません。スコープをユーザーに変更して、実行時にユーザーごとに変更できるようにします

MSDNから取得

アプリケーションスコープの設定は、WebサービスのURLやデータベース接続文字列などの情報に使用できます。これらの値は、アプリケーションに関連付けられています。したがって、ユーザーは実行時にそれらを変更することはできません。

編集:設定を保存するには、使用する必要がありますProperties.Settings.Default.Save();

于 2012-07-23T22:30:54.517 に答える