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
)
参数
- pageType
类型:System.Type
实现 工具选项 页的类的 Type 。
- 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。