すべてのコントロールをループすることなく、Winforms(主にTextBoxes)にすべてのコンテンツをファイルなどに永続化するように指示する最も簡単な方法はありますか?
これはWPFアプリケーションで見ましたが、すぐに使用できる最も簡単なアプローチがあるかどうかはわかりません(また、Googleは何も表示しませんでした)。
繰り返しますが、各コントロールをループすることは可能ですが、作業が多すぎるようです。
シリアル化はおそらく機能しますか?
フォームデザイナでを設定ApplicationSettings
PropertyBinding
し、フィールド名を割り当ててから、アプリケーションを閉じるときにこれを行うことができます。これにより、アプリケーションのapp.configファイルにあるすべてのバインドされたテキストボックスへの変更がすべて保存されます。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Save();
}
IsolatedStorageFileを使用して、データを保存およびロードできます。テキストボックスを各テキストボックスのプロパティを持つクラスにバインドできる場合は、クラスをシリアル化して、IsolatedStorageFileに保存できます。
次に、IsolatedFileStorageから逆シリアル化でき、コントロールはクラスのプロパティに存在する値にバインドする必要があります。
クラスへのデータバインディングの詳細については、この質問への回答を参照してください:C#のオブジェクトへのデータバインディング
分離ストレージファイルへの保存とIsolatedStorageFileからのロードの詳細については、これを参照してください