Параметры приложения для пользовательских элементов управления
Чтобы предоставить пользовательским элементам управления возможность сохранять параметры приложения при размещении элементов управления в сторонних приложениях, необходимо выполнить определенные задачи.
Большая часть документации по функции «Параметры приложения» написана с расчетом на то, что вы создаете автономное приложение. Однако если вы создаете элемент управления, который другие разработчики будут размещать в своих приложениях, необходимо выполнить несколько дополнительных действий для правильного сохранения параметров элемента управления.
Параметры приложения и пользовательские элементы управления
Чтобы элемент управления правильно сохранил свои параметры, он должен инкапсулировать процесс, создав собственный класс-оболочку для параметров выделенных приложений, производный от ApplicationSettingsBase. Кроме того, основной класс управления должен реализовывать IPersistComponentSettings. Интерфейс содержит несколько свойств, а также два метода — LoadComponentSettings и SaveComponentSettings. При добавлении элемента управления в форму с помощью конструктора Windows Forms в Visual Studio LoadComponentSettings будет вызываться автоматически при инициализации элемента управления; SaveComponentSettings необходимо вызвать самостоятельно в методе Dispose
вашего элемента управления.
Кроме того, необходимо реализовать следующие параметры приложения, чтобы пользовательские элементы управления работали правильно в средах времени разработки (таких как Visual Studio):
Пользовательский класс параметров приложения с конструктором, который принимает IComponent в качестве одного параметра. Используйте этот класс для сохранения и загрузки всех параметров приложения. При создании нового экземпляра этого класса передайте пользовательский элемент управления с помощью конструктора.
Создайте этот класс настраиваемых параметров после создания и размещения элемента управления в форме, например в обработчике событий формы Load.
Инструкцию по созданию класса настраиваемых параметров см. в разделе Справка: Создание параметров приложения.
Ключи параметров и общие параметры
Некоторые элементы управления можно использовать несколько раз в одной форме. В большинстве случаев эти элементы управления будут сохранять собственные параметры. Используя свойство SettingsKey на IPersistComponentSettings, вы можете указать уникальную строку, которая действует для отдельного обозначения нескольких версий элемента управления в форме.
Самый простой способ реализации SettingsKey — использовать свойство Name элемента управления для SettingsKey. При загрузке или сохранении параметров элемента управления вы передаете значение SettingsKey в свойство SettingsKey класса ApplicationSettingsBase. Параметры приложения используют этот уникальный ключ при сохранении параметров пользователя в XML. В следующем примере кода показано, как раздел <userSettings>
может искать экземпляр пользовательского элемента управления с именем CustomControl1
, который сохраняет параметр для свойства Text
.
<userSettings>
<CustomControl1>
<setting name="Text" serializedAs="string">
<value>Hello, World</value>
</setting>
</CustomControl1>
</userSettings>
Все экземпляры элемента управления, которые не предоставляют значение для SettingsKey, будут совместно использовать одни и те же параметры.
См. также
.NET Desktop feedback