CodeProjectとStackOverflow.105932 (およびStackOverflow.1873658と MSDN の記事など、いくつかの他の記事) に続いて、Size、Location、および WindowState が保存され、読み込まれるメイン フォームがありますProperties.Settings.Default.<name>
。Properties.Settings.Default.WindowState = WindowState;
これは、この 1 つのフォームに最適です。私が見つけたすべてのコード例は、WindowState のグローバル設定が 1 つだけであると考えているようですが、インスタンスごとにこれらの設定を区別する方法を示しているものはありません。
ただし、フォームのスーパークラスにコードを記述しました。これは、このアプリケーション内のすべてのフォームがそのクラスから継承されるようにして、すべてのフォームが独自のサイズ、場所、および状態を保存/読み取りできるようにするためです。
私がやりたいことは、上記のキーパスの「デフォルト」という単語を継承フォームのクラス名に置き換えるだけです。これが機能する場合に最適な疑似コードを次に示します (機能しないため、機能するバリエーションを見つけることができません)。
Properties.Settings[this.ToString()].WindowState = WindowState;
これを正しく、再利用可能に、保守可能に、エントロピープルーフにするにはどうすればよいですか?
編集:「構成セクション」が答えでしょうか? (フォームのサブクラスごとにセクションを作成するのでしょうか?)
編集: いいえ、構成セクションではありませんが、このクラスは正しいソリューションの一部である必要があると思います。