C#でWindowsアプリケーションの設定を保存する方法をご紹介します。
ユーザーが個別にアプリケーションの設定を行い、その設定を永続化する際などに使用します。
目次
条件
- Visual Studio 2017
- C#
アプリケーションの設定
Visual Studioにおいて、対象プロジェクトを右クリック > プロパティを選択します。
プロジェクトのプロパティ設定が開くので、左メニューで設定を選択します。
設定したい値(名前、種類、スコープ、値)を入力して、プロパティを保存します。
アプリケーション設定の読み込み
以下のようにすることで、設定値を読み込むことが出来ます。
- Properties.Settings.Default.[設定の名前]
実装例
// アプリケーション設定値を出力する。 Console.WriteLine(Properties.Settings.Default.name1); Console.WriteLine(Properties.Settings.Default.name2); Console.WriteLine(Properties.Settings.Default.value1); Console.WriteLine(Properties.Settings.Default.value2);
実行結果
名前1です。 名前2です。 1 2
アプリケーション設定の更新
以下のようにすることで、設定値を更新することが出来ます。
- Properties.Settings.Default.[設定の名前] = “hogehoge”;
実装例
// アプリケーション設定値(更新前) Console.WriteLine("=== アプリケーション設定値(更新前)==="); // アプリケーション設定値を出力する。 Console.WriteLine(Properties.Settings.Default.name1); Console.WriteLine(Properties.Settings.Default.name2); Console.WriteLine(Properties.Settings.Default.value1); Console.WriteLine(Properties.Settings.Default.value2); Properties.Settings.Default.name1 = "name1を更新"; Properties.Settings.Default.name2 = "name2を更新"; Properties.Settings.Default.value1 = 111; Properties.Settings.Default.value2 = 2.222; // アプリケーション設定値(更新後) Console.WriteLine("=== アプリケーション設定値(更新後)==="); // アプリケーション設定値を出力する。 Console.WriteLine(Properties.Settings.Default.name1); Console.WriteLine(Properties.Settings.Default.name2); Console.WriteLine(Properties.Settings.Default.value1); Console.WriteLine(Properties.Settings.Default.value2);
実行結果
=== アプリケーション設定値(更新前)=== 名前1です。 名前2です。 1 2 === アプリケーション設定値(更新後)=== name1を更新 name2を更新 111 2.222
アプリケーション設定の保存
以下のようにすることで、設定値を保存することが出来ます。
- Properties.Settings.Default.Save();
実装例
// アプリケーション設定値(更新前) Console.WriteLine("=== アプリケーション設定値(更新前)==="); // アプリケーション設定値を出力する。 Console.WriteLine(Properties.Settings.Default.name1); Console.WriteLine(Properties.Settings.Default.name2); Console.WriteLine(Properties.Settings.Default.value1); Console.WriteLine(Properties.Settings.Default.value2); Properties.Settings.Default.name1 = "name1を更新"; Properties.Settings.Default.name2 = "name2を更新"; Properties.Settings.Default.value1 = 111; Properties.Settings.Default.value2 = 2.222; // アプリケーション設定値(更新後) Console.WriteLine("=== アプリケーション設定値(更新後)==="); // アプリケーション設定値を出力する。 Console.WriteLine(Properties.Settings.Default.name1); Console.WriteLine(Properties.Settings.Default.name2); Console.WriteLine(Properties.Settings.Default.value1); Console.WriteLine(Properties.Settings.Default.value2); // アプリケーション設定値を保存する。 Properties.Settings.Default.Save();
実行結果
1回目
更新前の設定値は、デフォルト値(プロパティで指定した値)が表示されます。
=== アプリケーション設定値(更新前)=== 名前1です。 名前2です。 1 2 === アプリケーション設定値(更新後)=== name1を更新 name2を更新 111 2.222
2回目
更新前の設定値は、前回保存した値が表示されます。
=== アプリケーション設定値(更新前)=== name1を更新 name2を更新 111 2.222 === アプリケーション設定値(更新後)=== name1を更新 name2を更新 111 2.222
参考
アプリケーションの設定の管理 (.NET)
https://docs.microsoft.com/ja-jp/visualstudio/ide/managing-application-settings-dotnet?view=vs-2017