.NET Framework 2.0 中设计时支持的新增功能

.NET Framework 2.0 扩展了 .NET Framework 1.1,它增加了新功能,改进了现有功能,并且增强了设计时开发。 本主题简要介绍新增设计器功能。

工具箱改进

现在,Visual Studio 中的**“工具箱”**将组件和控件分成了不同的类, 并且您的项目的组件和控件会自动填充到工具箱中。  

DesignerAction 支持

DesignerAction 功能使组件和控件可以显示区分上下文的信息和命令。 可以将 DesignerAction 功能视为设计器谓词的替代技术,因为 DesignerActionItem 可以显示在智能标记面板中,还可以显示在与组件或控件关联的快捷菜单中。 DesignerActionList 类表示需要将智能标记支持添加到其自定义组件和控件的开发人员的主交互点。 有关更多信息,请参见如何:向 Windows 窗体组件附加智能标记

Windows 窗体的设计器布局帮助

现在,为运行时环境和设计环境提供的布局支持已经得到了改进。

设计环境

Windows 窗体控件支持“对齐线”,它很容易让窗体上的控件对齐。 SnapLine 类为您使用对齐线扩展自定义控件提供了一个实现。

有关更多信息,请参见 演练:使用对齐线在 Windows 窗体上排列控件演练:使用对齐线在 Windows 窗体上排列控件演练:使用对齐线在 Windows 窗体上排列控件演练:使用对齐线在 Windows 窗体上排列控件..

运行时

TableLayoutPanelFlowLayoutPanel 是两个新的 Windows 窗体控件,这两个控件支持一些需要按比例调整大小功能和动态布局功能的方案。 有关更多信息,请参见 TableLayoutPanel 控件(Windows 窗体)FlowLayoutPanel 控件(Windows 窗体)

可以使用 Control.LayoutEngine 属性和 LayoutEngine 类来实现您自己的自定义布局行为。 有关更多信息,请参见如何:实现自定义布局引擎

默认接口实现

现在,许多指定设计器基础结构的接口都具有默认实现,您可以扩展这些默认实现。 下表提供了一个基类列表,并附带提供了与这些基类对应的默认实现。

基类

Implements

BasicDesignerLoader

IDesignerLoaderService

CodeDomDesignerLoader

IDesignerSerializationService

CustomTypeDescriptor

ICustomTypeDescriptor

DesignerSerializationManager

IDesignerSerializationManager

NestedContainer

INestedContainer

ToolboxService

IToolboxService

设计器基类实现

下表列出了实现了设计器基础结构的类;您现在既可以使用这些类,也可以扩展这些类。

基类

说明

CodeDomSerializerBase

CodeDomSerializer 类提供基类。

ComponentSerializationService

将一组组件或可序列化的对象序列化到一个序列化存储区中。

ContainerFilterService

为容器筛选服务提供基类。

TypeDescriptionProvider

TypeDescriptor 提供补充元数据。

设计器服务

设计器基础结构提供了一组扩展的设计器服务,可帮助您为您的客户构建丰富的设计体验。 有关更多信息,请参见设计时体系结构

用于构建 Windows 窗体的设计器外观和行为

在 .NET Framework 的早期版本中,自定义 Windows 窗体设计器包含所有鼠标处理和键盘处理逻辑。 新的 GlyphBehaviorAdorner 类将您的外观和行为代码重构为专用自定义类型。 有关更多信息,请参见如何:在设计模式下扩展控件的外观和行为

TypeDescriptor 扩展

TypeDescriptionProvider 类为 TypeDescriptor 类实现扩展性。 这启用了大量高级方案,包括实例替换、元数据替换、特性重定向和目标替换与影化。

有关更多信息,请参见类型说明符概述

一般撤消/重复支持

UndoEngine 类为组件上的属性值更改提供一般撤消/重复支持。 DesignerTransaction 类可用于对那些您可以提交或回滚的离散工作单元进行事务性处理。 您可以对您的组件进行一系列更改,然后一次性全部接受或取消这些更改。

代码示例

现在,Windows 软件开发包 (SDK) 有了更多演示自定义设计器开发的代码示例。 有关更多信息,请参见使用组件进行编程的帮助主题和演练主题扩展设计时支持帮助和演练主题

Topic Location
设计时开发 Windows 窗体控件 Windows 窗体控件
设计时开发 Windows 窗体控件 Windows 窗体控件
设计时开发 Windows 窗体控件 Windows 窗体控件
设计时开发 Windows 窗体控件 dv_mclictl

请参见

其他资源

扩展设计时支持

自定义设计器