私はフォームとサブフォームを持ち、いずれもapp.configの設定にバインドされているコントロールを持っています。設定にバインドされているコントロールにロールバックが変更されます
サブフォームには[保存]と[キャンセル]ボタンがあり、ユーザーが[保存]をクリックすると設定が保存され、[キャンセル]をクリックすると保存されずにフォームが閉じます。
(FormClosingイベントを使用して)メインフォームを閉じると、そのフォームの設定も保存されますが、サブフォームの設定が同じ場所にあるため、これらの設定も保存されます。
おそらく私はサブフォームのコントロールを変更した後、キャンセルを介して終了しました。このような状況では、メインフォームが終了するとこれらの不要な設定も保存されます。
どうすればよいですか?明らかに、Cancelを押すと、サブフォームの値を特にリセットすることができました。しかし、理想的には、設定バインドコントロールを追加または削除するたびにこのコードを更新し続ける必要はありません。
フォームレベルのリセットまたはロールバックオプションがあるかどうか疑問に思っていたので、個々のコントロールを手動で操作しなくてもサブフォームの状態をリセットできますか?
また、フォームごとに別々の設定ファイルを用意する必要がありますか?なぜ私はこれを行うことができなかった理由はないと思うが、良い方法があるのだろうか?