1. ホーム
  2. c#

[解決済み] Windowsフォームアプリケーションで、アプリケーションの設定を保存するにはどうすればよいですか?

2022-03-16 07:43:32

質問

実現したいことはとてもシンプルです。Windows Forms (.NET 3.5)アプリケーションで、情報を読み取るためにパスを使用しています。このパスは、私が提供するオプションフォームを使用して、ユーザーが変更することができます。

ここで、パスの値をファイルに保存して後で使用したいと思います。これは、このファイルに保存される多くの設定のうちの1つになります。このファイルは、アプリケーションフォルダーに直接置かれることになります。

3つのオプションが用意されているそうですね。

  • ConfigurationSettingsファイル(appname.exe.config)
  • レジストリ
  • カスタムXMLファイル

.NET設定ファイルは、値を保存して戻すことは想定されていないと読みました。レジストリについては、できるだけ距離を置きたいと思います。

これは、コンフィギュレーション設定の保存にカスタム XML ファイルを使用する必要があるということですか?

もしそうなら、そのコード例(C#)を見たいです。

このテーマに関する他の議論も見ましたが、私にはまだよくわかりません。

どのように解決するのですか?

Visual Studioで作業しているのであれば、永続的な設定を得るのは非常に簡単です。ソリューションエクスプローラーでプロジェクトを右クリックし、プロパティを選択します。設定]タブを選択し、設定が存在しない場合はハイパーリンクをクリックします。

設定] タブでアプリケーション設定を作成します。Visual Studio では、以下のファイルが作成されます。 Settings.settingsSettings.Designer.settings を含むシングルトンクラス Settings から継承された ApplicationSettingsBase . コードからこのクラスにアクセスすることで、アプリケーションの設定を読み書きすることができます。

Properties.Settings.Default["SomeProperty"] = "Some Value";
Properties.Settings.Default.Save(); // Saves settings in application configuration file

このテクニックは、コンソール、Windowsフォーム、その他のプロジェクトタイプのいずれにも適用できます。

を設定する必要があることに注意してください。 スコープ プロパティを設定します。Application スコープを選択した場合、Settings.Default.<your property> は読み取り専用になります。

参考にしてください。 How To: C#で実行時にユーザー設定を書き込む - Microsoft Docs