質問: ### 前提・実現したいこと C# visualstudio でフォームを作り開いた時に、ボタンを押して文字入力したラベルを作成するものをつくっています。 作成したラベルを再度開いた時に復元したいと思い、ラベルを作成した時にLISTに追加していき 、それをシリアル化して開いた時にデシリアライズできないかと考えました。 ネットでシリアル化について調べてみたのですが、コントロールをリストにいれてシリアル化する方法がどうしてもみつからず、質問してみることにしました。 そもそも上記のような事が可能なのかというところからわからないのですが、もし可能でしたらシリアル化の際の設定方法を教えて頂けないでしょうか。よろしくお願いいたします。 ### 発生している問題・エラーメッセージ ``` エラーメッセージ ``` ### 該当のソースコード ### 試したこと ### 補足情報(FW/ツールのバージョンなど)
回答: 以下の公式サイトにも書かれてる通り、シリアライズできるようにするのは非常に面倒です。 コントロール毎シリアライズする大変さに見合う価値があると思うのでなければ、stringの配列をシリアライズすることをお勧めします。 stringの配列であれば、何もしなくてもシリアライズできるので。 カスタムのシリアル化 復元する時の動きは大まかに以下のとおりです。 ・デシリアライズしてstringの配列を取り出す。 ・foreachでstringの配列を回しながらラベルのテキストを取得し、ラベルクラスを作成してテキストを設定し、フォームのコントロールに追加 もっと細かく助言してほしいのであれば、まずソースを提示してください。