После CodeProject < / em> и StackOverflow.105932 (и несколько других, например, StackOverflow .1873658 и статьи MSDN) У меня есть основная форма, размер, расположение и WindowState которой сохраняются и читаются из Properties.Settings.Default.<name>
, например, Properties.Settings.Default.WindowState = WindowState;
, и это отлично подходит для этой формы. В КАЖДОМ примере кода, который я приводил, кажется, что будет одна и только одна глобальная настройка для WindowState, ни один из них не говорит, как различать эти настройки для каждого экземпляра.
Однако я написал код в суперклассе формы, потому что я хочу, чтобы все формы В ЭТОМ ПРИЛОЖЕНИИ унаследовались от этого класса, чтобы все они могли сохранять / читать свой собственный размер, местоположение и состояние.
Я бы хотел просто заменить слово «Default» в указанном выше ключевом пути на имя класса наследующей формы. Вот псевдокод, который был бы отличным, если бы он работал (это не так, и я не могу найти вариант, который работает):
Properties.Settings[this.ToString()].WindowState = WindowState;
Как я могу сделать это правильно, многоразово, обслуживаемое, энтропийное?
Изменить: будут ли "разделы конфигурации" ответом? (Может быть, создать раздел для каждого подкласса формы?)
Изменить: Нет, не разделы конфигурации, но я думаю этот класс должен быть частью правильного решения.