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 属性中替换它们来重写。 若要替换服务,请重写构造函数、调用基,并通过受保护的 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 方法时发生。

适用于

另请参阅