• 締切済み

【C#】フォームの値を保存しておく自作クラスについて

Visual C# Express Editionで開発してます。 自作のダイアログボックスにタブページをつけました。 タブページを切り替えると内容が失われてしまいますが、 テキストボックスなどのコントロールに入力された値を保存しておき 後で取り出すには、 1.自作のクラスのフィールドに各コントロールのテキストプロパティが変更されたらいちいち保存する。(各コントロールのイベントに保存するコードを全部書く) 2.変更されたオブジェクトと内容を判別し、自作クラスに保存する。 たとえば、 Textbox1のTextプロパティが変更されたら、 プロパティが変更されたコントロール名、プロパティ名と値を 自作クラスに保存。 タプページの最上位を切り替える。 タプページを元にもどったら 自作クラスから変更内容を取り出し反映する。 というようなことができると思うのですが・・・ まったくわからないので、 今回はタブページに含まれるコントロール全部のTextChanged イベントにコード書きました(すごく手間でした。) みなさんはどのようにしているのでしょうか? わかる方、どうかよろしくお願いします。

みんなの回答

noname#76085
noname#76085
回答No.2

> 変更があったら変更内容だけを格納しておきたいのですが。 添付画像のように変更した内容…今回はTextBox.Textを書き換えてしまっていますが…「だけを」残しておきたい、で合っていますかね?

noname#76085
noname#76085
回答No.1

理解力不足で申し訳ないですが… > タブページを切り替えると内容が失われてしまいますが、 このタブページと言うのはTabControlのことで、よろしいのでしょうか?

spectra_00
質問者

補足

そうです。TabControlです。 なぜか書き方がひどくおかしいですね。ごめんなさい。 変更内容が失われるのじゃなくて、 ようするにUndoの機能をつけたいのです。 変更があったら変更内容だけを格納しておきたいのですが。