DialogPage 类

为实现 工具箱 属性表提供标准对话框的功能, 工具选项 页,使用 Visual Studio 设置结构,或自定义用户界面对话框中,使用 Visual Studio 自动化模型、 windows 窗体和状态持久性支持。

继承层次结构

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      Microsoft.VisualStudio.Shell.DialogPage
        Microsoft.VisualStudio.Shell.UIElementDialogPage

命名空间:  Microsoft.VisualStudio.Shell
程序集:  Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
Public Class DialogPage _
    Inherits Component _
    Implements IWin32Window, IProfileManager
[ComVisibleAttribute(true)]
public class DialogPage : Component, IWin32Window, 
    IProfileManager

DialogPage 类型公开以下成员。

构造函数

  名称 说明
公共方法 DialogPage 初始化 DialogPage 的新实例。

页首

属性

  名称 说明
公共属性 AutomationObject 获取对话页类的特定实例 DTE 自动化模型对象。
受保护的属性 CanRaiseEvents 获取一个指示组件是否可以引发事件的值。 (继承自 Component。)
公共属性 Container 获取 IContainer,它包含 Component。 (继承自 Component。)
受保护的属性 DesignMode 获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component。)
受保护的属性 Events 获取附加到此 Component 的事件处理程序的列表。 (继承自 Component。)
受保护的属性 SettingsRegistryPath 获取或设置子键在特定于版本的 Visual Studio 下支持存储设置数据。对话框页。
公共属性 Site 获取或设置对话框页的网站。重写从继承 Component的实现。 (重写 Component.Site。)
受保护的属性 Window 获取用作对话框页的用户界面的窗口。

页首

方法

  名称 说明
公共方法 CreateObjRef 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)
公共方法 Dispose() 释放由 Component 使用的所有资源。 (继承自 Component。)
受保护的方法 Dispose(Boolean) 释放对话框页类使用的非托管资源和选择性地释放托管资源;父类, Component 支持非托管资源。 (重写 Component.Dispose(Boolean)。)
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 在通过垃圾回收将 Component 回收之前,释放非托管资源并执行其他清理操作。 (继承自 Component。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetLifetimeService 检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
受保护的方法 GetService 返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。 (继承自 Component。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 InitializeLifetimeService 获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
公共方法 LoadSettingsFromStorage 调用 Visual Studio 从本地存储区加载对话框页的设置,通常注册表。
公共方法 LoadSettingsFromXml 调用 Visual Studio 从 Visual Studio 设置存储加载对话框页上的设置在磁盘上。
受保护的方法 MemberwiseClone() 创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法 MemberwiseClone(Boolean) 创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject。)
受保护的方法 OnActivate 处理 windows 从 Visual Studio 环境的 Activate 消息。
受保护的方法 OnApply 处理来自 Visual Studio 环境的 Apply 消息。
受保护的方法 OnClosed 处理来自 Visual Studio 环境的 Close 消息。
受保护的方法 OnDeactivate 处理来自 Visual Studio 环境的 Deactive 消息。
公共方法 ResetSettings 应重写重置设置为其默认值。
公共方法 SaveSettingsToStorage 调用由 Visual Studio 中存储对话框页上的设置在本地存储区,通常注册表。
公共方法 SaveSettingsToXml 调用 Visual Studio 存储对话框页的设置为 Visual Studio 设置存储在磁盘上。
公共方法 ToString 返回包含 Component 的名称的 String(如果有)。不应重写此方法。 (继承自 Component。)

页首

事件

  名称 说明
公共事件 Disposed 当通过调用 Dispose 方法释放组件时发生。 (继承自 Component。)

页首

显式接口实现

  名称 说明
显式接口实现私有属性 IWin32Window.Handle 获取对话页的窗口的句柄。

页首

备注

实现者说明

,在创建用户对话框、 工具选项 页或尤其是 工具箱 属性页时,请实现从 DialogPage 派生的类。

调用方的说明

DialogPage 的最简单的实现要求的公共属性只定义在实现类的。 属性类型必须与字符串之间进行双向支持转换。 TypeConverter

DialogPage 的基实现用于标准 windows 事件提供默认处理程序,并实现 ComponentIWin32WindowIProfileManager

从 DialogPage 派生的类包括以下内容:

  • 自动为共享通过 Visual Studio 对自动化对象模型的元素支持。

    • ,因为类继承 Component 接口实现, DialogPage 所有实例是自动化对象。

    • 必须访问类使用自动化对象 AutomationObject 属性的应用程序。

      默认情况下,,因为 DialogPage 的实现已经是自动化对象 AutomationObject 属性返回 this (在 Visual Basic的Me )。

    • DialogPage 实现可提供自动化对象除了本身外通过重写基 AutomationObject 实现。 例如,这可以执行提供单独的用户界面和对象模型。

  • 为 Visual Studio 设置 framework 支持,具体取决于派生类中的自动化对象的公共属性。

  • 根据该派生类的自动化对象的公共属性的默认用户界面。

    • 使用 ProvideOptionPageAttribute,对于提供对话框页的实现 工具选项 页,必须注册它。

    • 使用 ProvideToolboxPageAttribute,对于提供对话框页的实现 工具箱 对话框页,必须注册它。

    • 对话框页使用 Window 返回 IWin32Window,提供了窗口的句柄提供类的用户界面。

    • 默认情况下,只有 Window 引用的窗口是属性网格中,由 PropertyGrid 实例实现通过选择自动化对象。

    • DialogPage 基类使用其 AutomationObject 的实现获取类的自动化对象和该自动化对象的公共属性。

    • 对通过对话框页的用户界面进行的公共属性的更改由调用自动保存到本地存储区 (通常是注册表) 到 SaveSettingsToStorage 方法。

    • 对话框页实现可以通过重写的 Window更改其用户界面。

备注

通常,对话框中的页类的实例是其自身的自动化对象。因此,保存或中显示的属性是从 DialogPage派生的那些类。但是,因此,如果 AutomationObject 返回另一个对象,该对象是对象的属性,而是类的,保存或显示。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Shell 命名空间

IProfileManager

Component

PropertyGrid

IWin32Window

其他资源

扩展自动化模型

选项卡页

工具箱 (Visual Studio SDK)

状态持久性和 Visual Studio IDE

扩展 Visual Studio 环境