ProvideOptionPageAttribute 构造函数 (Type, String, String, Int16, Int16, Boolean)

初始化指示的 ProvideOptionPageAttribute 新实例特定类实现配置为根据 工具选项 页的 VSPackage 支持的用户。

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

语法

声明
<BrowsableAttribute(False)> _
Public Sub New ( _
    pageType As Type, _
    categoryName As String, _
    pageName As String, _
    categoryResourceID As Short, _
    pageNameResourceID As Short, _
    supportsAutomation As Boolean _
)
[BrowsableAttribute(false)]
public ProvideOptionPageAttribute(
    Type pageType,
    string categoryName,
    string pageName,
    short categoryResourceID,
    short pageNameResourceID,
    bool supportsAutomation
)

参数

  • categoryName
    类型:System.String
    工具选项 页类别的规范非本地化名称。
  • pageName
    类型:System.String
    工具选项 页子类别的规范非本地化名称。
  • categoryResourceID
    类型:System.Int16
    工具选项 页类的本地化资源 ID。
  • pageNameResourceID
    类型:System.Int16
    工具选项 页子类别的本地化资源 ID。
  • supportsAutomation
    类型:System.Boolean
    如果为 true, 工具选项 页可以通过 Visual Studio 自动化结构进行访问。

备注

如果自动化支持,规范非本地化类别和子类别名称用于获取 工具选项 页的 Properties 集合。有关更多信息,请参见 使用选项卡页

工具选项 页面注册信息是在注册表项下

  • ToolsOptionsPages

  • AutomationProperties (如果自动化支持请求)

这些位于 \Software\Microsoft\VisualStudio HKLM \<Version> 下 <Version> 是 Visual Studio的版本,如 8.0。

" 工具选项 " 页的注册表项是:

ToolsOptionsPages\<categoryName>

ToolsOptionsPages\<categoryName>\@=#<categoryResourceID>

ToolsOptionsPages\<categoryName>\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages\<categoryName>\<pageName>

ToolsOptionsPages\<categoryName>\<pageName>\@=#<pageNameResourceID>

ToolsOptionsPages\<categoryName>\<pageName>\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages\<categoryName>\<pageName>\Page={"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"}

ToolsOptionsPages\<categoryName>\<pageName>\NoShowAllView=0/1

如果自动 Support 指定, AutomationProperties 的注册表项是:

AutomationProperties\<categoryName>\<pageName>

AutomationProperties\<categoryName>\<pageName>\Name=<categoryName>.<pageName>

AutomationProperties\<categoryName>\<pageName>\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

AutomationProperties\<categoryName>\<pageName>\ProfileSave=0/1

示例

下面的示例显示为提供 “Mypackage::close()”包名为 “DesignerOptionsPage”页面注册。 工具选项 页的支持。VSPackage 和类别 GUID 由通过反射的属性中获得的。

DesignerOptionsPage 的注册表项是:

ToolsOptionsPages \MyDesigner

ToolsOptionsPages \MyDesigner \ @=#1002

ToolsOptionsPages\MyDesigner\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages \MyDesigner\OptionPage

ToolsOptionsPages \MyDesigner\OptionPage \ @=#1003

ToolsOptionsPages\MyDesigner\OptionPage\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

ToolsOptionsPages \MyDesigner\OptionPage\Page ={“YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY”}

属性,因此 NoShowAllView 初始化为 false请注意,键 ToolsOptionsPages \MyDesigner\NoShowAllView 未设置为。

因为 SupportsAutomation 属性是 true,这些附加注册表值设置:

AutomationProperties \MyDesigner\OptionPage

AutomationProperties \MyDesigner\OptionPage\Name=MyDesigner.OptionPage

AutomationProperties\MyDesigner\OptionPage\Package={"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"}

AutomationProperties \MyDesigner\OptionPage\ProfileSave =1

,因为  SupportsProfiles 属性设置为 true,请注意键 ToolsOptionsPages \MyDesigner\ProfileSave 存在并设置为 1。

using Microsoft.VisualStudio.Shell;
namespace Example
{
[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")] 
[ProvideOptionPage(typeof(DesignerOptionsPage), " MyDesigner", "OptionPage", 1000, 1001, true, 
                    NoShowAllValue = false, ProfileSave = true)] 
[ProvideProfileAttribute(typeof(DesignerOptionsPage), "MyDesigner", "OptionPage", 1002, 1003, true)]
 [Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]
public class MyPackage : Package
{
//Implementation here
}

[Guid("YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY")]
internal class DesignerOptionsPage: DialogPage {
//Implementation here
}

.NET Framework 安全性

请参见

参考

ProvideOptionPageAttribute 类

ProvideOptionPageAttribute 重载

Microsoft.VisualStudio.Shell 命名空间