DesignSurface Класс

Определение

Представляет пользовательский интерфейс для разработки компонентов.Presents a user interface for designing components.

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

Комментарии

Класс DesignSurface реализует то, что пользователь воспринимает как конструктор.The DesignSurface class implements what the user perceives as a designer. DesignSurface — это пользовательский интерфейс, с помощью которого пользователь изменяет функции времени разработки.DesignSurface is the user interface the user manipulates to change design-time features. DesignSurface предоставляет полностью автономную область конструктора.DesignSurface provides a completely self-contained design surface.

Класс DesignSurface может использоваться в качестве изолированного конструктора, или же он может быть связан с классом DesignSurfaceManager, чтобы обеспечить общую реализацию приложения, в котором размещается несколько объектов DesignSurface.The DesignSurface class may be used as a stand-alone designer, or it may be coupled with the DesignSurfaceManager class to provide a common implementation for an application that hosts multiple DesignSurface objects.

Класс DesignSurface может использоваться самим, или пользователь может получить от него новый класс и расширить поведение.The DesignSurface class can be used by itself, or the user can derive a new class from it and augment the behavior.

Класс DesignSurface предоставляет автоматически несколько служб во время разработки.The DesignSurface class provides several design-time services automatically. Класс DesignSurface добавляет все свои службы в своем конструкторе.The DesignSurface class adds all of its services in its constructor. Большинство этих служб можно переопределить, заменив их в свойстве protected ServiceContainer.Most of these services can be overridden by replacing them in the protected ServiceContainer property. Чтобы заменить службу, переопределите конструктор, вызовите base и внесите любые изменения с помощью защищенного свойства ServiceContainer.To replace a service, override the constructor, call base, and make any changes through the protected ServiceContainer property. Все службы, добавленные в контейнер службы и реализующие IDisposable, удаляются при удалении области конструктора.All services that are added to the service container and that implement IDisposable are disposed when the design surface is disposed. Набор заменяемых служб по умолчанию, предоставляемый классом DesignSurface, показан в следующей таблице.The default set of replaceable services that the DesignSurface class provides is shown in the following table.

ServiceService ОписаниеDescription
IExtenderProviderService Включает объекты, не являющиеся частью коллекции компонентов контейнера, для предоставления собственных поставщиков расширителей.Enables objects that are not part of the container's components collection to provide their own extender providers.
IExtenderListService Используется TypeDescriptor для получения списка поставщиков расширений.Used by TypeDescriptor to get a list of extender providers. С этой службой поставщики расширений могут находиться за пределами контейнера.With this service, extender providers can live outside of the container.
ITypeDescriptorFilterService Предоставляет обработчики метаданных конструктора.Provides designer metadata hooks. Это основной интерфейс для фильтрации метаданных.This is the primary interface for metadata filtering.
ISelectionService Предоставляет способ выбора компонентов в конструкторе.Provides a way to select components in the designer.
IReferenceService Предоставляет способ получения имени для объектов, даже если эти объекты не являются узлами.Provides a way to get a name for objects, even when those objects are not sited.
DesignSurface Предоставляет область конструктора как услугу.Offers the design surface itself as a service.
DesignerOptionService Предоставляет базовый класс для возврата и установки значений параметров конструктора.Provides a base class for getting and setting option values for a designer.

В следующей таблице показаны незаменяемые службы, предоставляемые по умолчанию.The following table shows the non-replaceable services provided by default.

ServiceService ОписаниеDescription
IComponentChangeService Вызывает события по мере внесения изменений в компоненты.Raises events as changes are made to components.
IDesignerHost Управляет доступом к типам, службам и транзакциям.Controls access to types, services, and transactions. Главный интерфейс для конструкторов.Master interface for designers.
IContainer Владеет набором разрабатываемых компонентов.Owns the set of components that are being designed. Каждый конструктор имеет IContainer, которому принадлежат компоненты.Each designer has an IContainer that owns the components.
IServiceContainer Является производным от IServiceProvider и предоставляет способ добавления и удаления служб из конструктора.Derives from IServiceProvider and provides a way to add and remove services from the designer.

Помимо этих служб, класс DesignSurface также предоставляет одну службу, доступную через сайт компонента.In addition to these services, the DesignSurface class also provides a single service that is available through a component's site. Эта служба уникальна для каждого компонента.This service is unique for each component. В следующей таблице приведены службы, которые не могут быть заменены.The following table shows the services that cannot be replaced.

ServiceService ОписаниеDescription
IDictionaryService Универсальный словарь пар "ключ-значение", которые можно использовать для хранения произвольных данных о компоненте.A generic dictionary of key/value pairs that can be used to store arbitrary data about a component.
INestedContainer Контейнер, который позволяет компоненту добавлять в конструктор дополнительные дочерние компоненты.A container that enables a component to add additional child components to the designer. Эти компоненты будут входить в область конструктора, но не будут участвовать в сериализации.These components will be part of the design surface, but will not participate in serialization. Это полезно, если требуется разработать элемент управления, способный предоставить область самого себя в конструкторе, но вы не хотите, чтобы регион принимал участие в сериализации.This is useful when you want to design a control that is capable of exposing a region of itself in a designer, but you do not want the region to participate in serialization.

Помимо ISite, сайт также реализует следующие интерфейсы.In addition to ISite, the site also implements the following interfaces.

Внимание!

Проверьте наличие этих интерфейсов вместо того, чтобы использовать неявное приведение, поскольку другие реализации сайта могут не реализовывать их.Check for the existence of these interfaces, rather than use indiscriminate casting, because other site implementations may not implement them.

ServiceService ОписаниеDescription
IServiceContainer Предоставляет способ перехода к контейнеру служб для конкретного сайта.Provides a way to get to the container of site-specific services. Например, IDictionaryService является службой для конкретного сайта.For example, IDictionaryService is a site-specific service. С помощью этой службы можно добавить дополнительные службы для конкретного сайта.With this service, you can add additional site-specific services.

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

DesignSurface()

Инициализация нового экземпляра класса DesignSurface.Initializes a new instance of the DesignSurface class.

DesignSurface(IServiceProvider)

Инициализация нового экземпляра класса DesignSurface.Initializes a new instance of the DesignSurface class.

DesignSurface(IServiceProvider, Type)

Инициализация нового экземпляра класса DesignSurface.Initializes a new instance of the DesignSurface class.

DesignSurface(Type)

Инициализация нового экземпляра класса DesignSurface.Initializes a new instance of the DesignSurface class.

Свойства

ComponentContainer

Получает реализацию интерфейса IContainer в области разработки.Gets the IContainer implementation within the design surface.

DtelLoading

Получает значение, указывающее, загружается ли список ошибок времени разработки.Gets a value indicating whether the Design-time Error List is loading.

IsLoaded

Получает значение, указывающее, загружена ли область разработки в текущий момент.Gets a value indicating whether the design surface is currently loaded.

LoadErrors

Возвращает коллекцию ошибок загрузки или пустую коллекцию.Returns a collection of loading errors or a void collection.

ServiceContainer

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

View

Получает представление для корневого конструктора.Gets the view for the root designer.

Методы

BeginLoad(DesignerLoader)

Начинает процесс загрузки с заданным загрузчиком конструктора.Begins the loading process with the given designer loader.

BeginLoad(Type)

Запускает процесс загрузки.Begins the loading process.

CreateComponent(Type)

Создает экземпляр компонента.Creates an instance of a component.

CreateDesigner(IComponent, Boolean)

Создает конструктор при добавлении компонента в контейнер.Creates a designer when a component is added to the container.

CreateInstance(Type)

Создает экземпляр заданного типа.Creates an instance of the given type.

CreateNestedContainer(IComponent)

Создает контейнер, пригодный для вложения элементов управления или компонентов.Creates a container suitable for nesting controls or components.

CreateNestedContainer(IComponent, String)

Создает контейнер, пригодный для вложения элементов управления или компонентов.Creates a container suitable for nesting controls or components.

Dispose()

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

Dispose(Boolean)

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

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

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

GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

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

Получает службу из контейнера служб.Gets a service from the service container.

GetType()

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

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Порождает событие Loaded.Raises the Loaded event.

OnLoading(EventArgs)

Порождает событие Loading.Raises the Loading event.

OnUnloaded(EventArgs)

Порождает событие Unloaded.Raises the Unloaded event.

OnUnloading(EventArgs)

Порождает событие Unloading.Raises the Unloading event.

OnViewActivate(EventArgs)

Порождает событие ViewActivated.Raises the ViewActivated event.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

События

Disposed

Происходит при удалении области разработки.Occurs when the design surface is disposed.

Flushed

Происходит при вызове метода Flush() объекта DesignSurface.Occurs when a call is made to the Flush() method of DesignSurface.

Loaded

Происходит по завершении загрузки конструктора.Occurs when the designer load has completed.

Loading

Происходит непосредственно перед загрузкой конструктора.Occurs when the designer is about to be loaded.

Unloaded

Происходит после выгрузки конструктора.Occurs when a designer has finished unloading.

Unloading

Происходит непосредственно перед выгрузки конструктора.Occurs when a designer is about to unload.

ViewActivated

Происходит при вызове метода Activate() для объекта IDesignerHost.Occurs when the Activate() method has been called on IDesignerHost.

Безопасность

NamedPermissionSet
для полного доступа к системным ресурсам.for full access to system resources. Значения спроса: LinkDemand, InheritanceDemand.Demand values: LinkDemand, InheritanceDemand. Связанное состояние:Associated state:

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

Дополнительно