アプリケーションを閉じた後、フォームの状態を C# に保存することは可能ですか? List を試してみましたが、フォームのインスタンスを作成するたびに、そのインスタンスが List に追加され、削除されるまでそこに存在します。アプリケーションが閉じられるまで、保存されたフォームを表示、編集、および削除できます。したがって、フォームがシリアライズ可能ではないことを考えると、リストを何らかの方法で保存し、後でロードする機会はありますか?
質問する
901 次
1 に答える
2
Control クラスと Form クラスはシリアル化できません。これには十分な理由があります。それらのプロパティ値の多くは、プログラムの実行状態に大きく依存しています。ハンドルと同様に、非常に重要ですが、常に異なります。UICues は、ユーザーが Alt キーを押したかどうかによって異なります。ビデオ アダプタの設定やユーザーの好みに応じて、場所やサイズなどの単純なものも異なります。
これらのプロパティをシリアル化する必要はありません。保持したいのは、コントロールの初期化に使用されたデータです。もちろん、これはあなたのプログラムに完全に依存しており、共通点はまったくありません。したがって、UI の状態を格納するクラスを作成するのはあなた次第です。必要に応じてシリアライズ可能にし、シリアライゼーションを実装するための好みの方法を選択できます。そうする方法はたくさんあります。コード内でモデルからビューを厳密に分離することは、通常、これをうまく機能させるために非常に重要です。
于 2013-06-13T11:45:44.703 に答える