DesignSurface Класс

Определение

Представляет пользовательский интерфейс для разработки компонентов.

public ref class DesignSurface : IDisposable, IServiceProvider
public class DesignSurface : IDisposable, IServiceProvider
[System.Security.SecurityCritical]
public class DesignSurface : IDisposable, IServiceProvider
type DesignSurface = class
    interface IDisposable
    interface IServiceProvider
[<System.Security.SecurityCritical>]
type DesignSurface = class
    interface IDisposable
    interface IServiceProvider
Public Class DesignSurface
Implements IDisposable, IServiceProvider
Наследование
DesignSurface
Атрибуты
Реализации

Комментарии

Класс DesignSurface реализует то, что пользователь воспринимает как конструктор. DesignSurface — это пользовательский интерфейс, который пользователь управляет для изменения функций времени разработки. DesignSurface предоставляет полностью автономную область конструктора.

Класс DesignSurface может использоваться в качестве автономного конструктора или в сочетании с классом DesignSurfaceManager для предоставления общей реализации для приложения, в котором размещается несколько DesignSurface объектов.

Класс DesignSurface можно использовать сам по себе, или пользователь может получить от него новый класс и расширить поведение.

Класс DesignSurface автоматически предоставляет несколько служб времени разработки. Класс DesignSurface добавляет все свои службы в свой конструктор. Большинство этих служб можно переопределить, заменив их в защищенном свойстве ServiceContainer . Чтобы заменить службу, переопределите конструктор, вызовите base и внесите любые изменения с помощью защищенного ServiceContainer свойства. Все службы, добавленные в контейнер служб и реализующие IDisposable их, удаляются при удалении области конструктора. Набор заменяемых служб по умолчанию, предоставляемый классом DesignSurface , показан в следующей таблице.

Служба Описание
IExtenderProviderService Позволяет объектам, которые не являются частью коллекции компонентов контейнера, предоставлять собственные поставщики расширителя.
IExtenderListService Используется для TypeDescriptor получения списка поставщиков расширителя. С помощью этой службы поставщики расширителя могут жить за пределами контейнера.
ITypeDescriptorFilterService Предоставляет обработчики метаданных конструктора. Это основной интерфейс для фильтрации метаданных.
ISelectionService Предоставляет способ выбора компонентов в конструкторе.
IReferenceService Предоставляет способ получения имени для объектов, даже если эти объекты не расположены на сайте.
DesignSurface Предлагает саму поверхность проектирования в качестве услуги.
DesignerOptionService Предоставляет базовый класс для возврата и установки значений параметров конструктора.

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

Служба Описание
IComponentChangeService Вызывает события при внесении изменений в компоненты.
IDesignerHost Управляет доступом к типам, службам и транзакциям. Основной интерфейс для конструкторов.
IContainer Владеет набором разрабатываемых компонентов. У каждого конструктора есть , IContainer который владеет компонентами.
IServiceContainer Наследуется от IServiceProvider и предоставляет способ добавления и удаления служб из конструктора.

Помимо этих служб, DesignSurface класс также предоставляет одну службу, доступную на сайте компонента. Эта служба уникальна для каждого компонента. В следующей таблице показаны службы, которые не могут быть заменены.

Служба Описание
IDictionaryService Универсальный словарь пар "ключ-значение", который можно использовать для хранения произвольных данных о компоненте.
INestedContainer Контейнер, позволяющий компоненту добавлять дополнительные дочерние компоненты в конструктор. Эти компоненты будут частью области конструктора, но не будут участвовать в сериализации. Это полезно, если вы хотите спроектировать элемент управления, который может предоставлять область в конструкторе, но вы не хотите, чтобы регион участвовал в сериализации.

В дополнение к ISiteсайту также реализованы следующие интерфейсы.

Внимание!

Проверьте наличие этих интерфейсов, а не используйте неизбирательное приведение, так как другие реализации сайта могут не реализовывать их.

Служба Описание
IServiceContainer Предоставляет способ добраться до контейнера служб, относящихся к сайту. Например, IDictionaryService является службой для конкретного сайта. С помощью этой службы можно добавить дополнительные службы, относящиеся к сайту.

Конструкторы

DesignSurface()

Инициализирует новый экземпляр класса DesignSurface.

DesignSurface(IServiceProvider)

Инициализирует новый экземпляр класса DesignSurface.

DesignSurface(IServiceProvider, Type)

Инициализирует новый экземпляр класса DesignSurface.

DesignSurface(Type)

Инициализирует новый экземпляр класса DesignSurface.

Свойства

ComponentContainer

Получает реализацию интерфейса IContainer в области разработки.

DtelLoading

Получает значение, указывающее, загружается ли список ошибок времени разработки.

IsLoaded

Получает значение, указывающее, загружена ли область разработки в текущий момент.

LoadErrors

Возвращает коллекцию ошибок загрузки или пустую коллекцию.

ServiceContainer

Получает контейнер службы.

View

Получает представление для корневого конструктора.

Методы

BeginLoad(DesignerLoader)

Начинает процесс загрузки с заданным загрузчиком конструктора.

BeginLoad(Type)

Запускает процесс загрузки.

CreateComponent(Type)
Устаревшие..

Создает экземпляр компонента.

CreateDesigner(IComponent, Boolean)

Создает конструктор при добавлении компонента в контейнер.

CreateInstance(Type)

Создает экземпляр заданного типа.

CreateNestedContainer(IComponent)

Создает контейнер, пригодный для вложения элементов управления или компонентов.

CreateNestedContainer(IComponent, String)

Создает контейнер, пригодный для вложения элементов управления или компонентов.

Dispose()

Освобождает ресурсы, используемые объектом DesignSurface.

Dispose(Boolean)

Освобождает ресурсы, используемые объектом DesignSurface.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Flush()

Выполняет сериализацию изменений, внесенных в область разработки.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetService(Type)

Получает службу из контейнера служб.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnLoaded(LoadedEventArgs)

Вызывает событие Loaded.

OnLoading(EventArgs)

Вызывает событие Loading.

OnUnloaded(EventArgs)

Вызывает событие Unloaded.

OnUnloading(EventArgs)

Вызывает событие Unloading.

OnViewActivate(EventArgs)

Вызывает событие ViewActivated.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Disposed

Происходит при удалении области разработки.

Flushed

Происходит при вызове метода Flush() объекта DesignSurface.

Loaded

Происходит по завершении загрузки конструктора.

Loading

Происходит непосредственно перед загрузкой конструктора.

Unloaded

Происходит после выгрузки конструктора.

Unloading

Происходит непосредственно перед выгрузки конструктора.

ViewActivated

Происходит при вызове метода Activate() для объекта IDesignerHost.

Применяется к

См. также раздел