Поделиться через


Параметры приложения для пользовательских элементов управления

Чтобы предоставить пользовательским элементам управления, размещаемым в приложениях сторонних производителей, возможность сохранения параметров приложения, необходимо выполнить некоторые задачи.

Большинство документов, посвященных работе параметров приложения, написаны в предположении, что создается отдельное приложение. Однако если создается элемент управления, который другие разработчики будут размещать в своих приложениях, то, чтобы этот элемент управления сохранял параметры приложения должным образом, необходимо выполнить некоторые дополнительные действия.

Параметры приложения и пользовательские элементы управления

Чтобы элемент управления правильно сохранял свои параметры, он должен инкапсулировать процесс путем создания собственного выделенного класса-оболочки параметров приложений, производного от класса ApplicationSettingsBase. Кроме того, основной класс элемента управления должен реализовывать интерфейс IPersistComponentSettings. Этот интерфейс содержит несколько свойств, а также два метода — LoadComponentSettings и SaveComponentSettings. При добавлении элемента управления в форму с помощью конструктора Windows Forms Designer в Visual Studio форма Windows Forms будет автоматически вызывать метод LoadComponentSettings при инициализации элемента управления; необходимо вызвать метод SaveComponentSettings самостоятельно в методе Dispose элемента управления.

Кроме того, для правильной работы параметров приложений для пользовательских элементов управления в среде разработки, такой как Visual Studio, следует реализовать следующие элементы.

  1. Пользовательский класс параметров приложения с конструктором, который принимает интерфейс IComponent в качестве своего единственного параметра. Этот класс используется для сохранения и загрузки всех параметров приложения. При создании нового экземпляра этого класса передайте пользовательский элемент управления с помощью этого конструктора.

  2. Создайте этот пользовательский класс параметров после того, как элемент управления создан и помещен в форму, например в обработчике событий Load формы.

Инструкции по созданию пользовательского класса параметров см. в разделе Практическое руководство. Создание параметров приложения.

Ключи параметров и общие параметры

Некоторые элементы управления могут использоваться несколько раз в одной форме. Большую часть времени необходимо, чтобы эти элементы управления сохраняли собственные индивидуальные параметры. С помощью свойства SettingsKey интерфейса IPersistComponentSettings можно предоставить уникальную строку, которая используется для устранения неоднозначности между несколькими версиями элемента управления в форме.

Самым простым способом реализации свойства SettingsKey является использование для свойства SettingsKey свойства Name элемента управления. При загрузке или сохранении параметров элемента управления значение свойства SettingsKey передается свойству SettingsKey класса ApplicationSettingsBase. Параметры приложения используют этот уникальный ключ для сохранения параметров пользователя в XML-файл. В следующем примере кода показано, как раздел <userSettings> может выполнять поиск экземпляра пользовательского элемента управления с именем CustomControl1, который сохраняет параметр в своем свойстве Text.

<userSettings>
    <CustomControl1>
        <setting name="Text" serializedAs="string">
            <value>Hello, World</value>
        </setting>
    </CustomControl1>
</userSettings>

Все экземпляры элемента управления, которые не предоставляют значения для свойства SettingsKey, будут использовать общие параметры.

См. также

Ссылки

ApplicationSettingsBase

IPersistComponentSettings

Основные понятия

Архитектура параметров приложения