C# Winform 設定を保存する方法について誰かが何か意見を持っているかどうか疑問に思っていましたか?
現在、さまざまなラジオ ボタン、ディレクトリ ブラウザ、日付ピッカーなどを含むフォームがあります。これらの設定を後でロードできる外部ファイルに保存するための最良の戦略は何かと考えていました。したがって、基本的に各構成をロードして実行し、次に別の構成をロードできます。また、構成はインストール/ユーザー間で渡すことができます。
C# Winform 設定を保存する方法について誰かが何か意見を持っているかどうか疑問に思っていましたか?
現在、さまざまなラジオ ボタン、ディレクトリ ブラウザ、日付ピッカーなどを含むフォームがあります。これらの設定を後でロードできる外部ファイルに保存するための最良の戦略は何かと考えていました。したがって、基本的に各構成をロードして実行し、次に別の構成をロードできます。また、構成はインストール/ユーザー間で渡すことができます。
アプリケーションスコープの設定は読み取り専用であり、設計時、またはアプリケーションセッション間で.exe.configファイルを変更することによってのみ変更できます。ただし、ユーザースコープの設定は、プロパティ値を変更する場合と同じように、実行時に書き込むことができます。新しい値は、アプリケーションセッションの間持続します。Settings.Saveメソッドを呼び出すことにより、アプリケーションセッション間でユーザー設定への変更を永続化できます。これらの設定は、User.configファイルに保存されます。
実行時にユーザー設定を書き込んで永続化する
Access the user setting and assign it a new value, as shown in the following example:
Properties.Settings.Default.myColor = Color.UserGreen;
アプリケーションセッション間でユーザー設定の変更を保持する場合は、次のコードに示すように、Saveメソッドを呼び出します。
Properties.Settings.Default.Save();
この問題は、すべての設定を含むクラスまたは構造体で解決しました。私のフォームクラスには、そのような設定インスタンスを受け入れるコンストラクターがありました。
このsettings-class/-structはISerializableを実装していました。そのため、ファイルに簡単に保存してからロードできます。
これは最善の方法ではありませんが、実装は簡単です。