IConfigureToolboxItem.ConfigureToolboxItem 方法
调用由工具箱服务配置 ToolboxItem 对象。
命名空间: Microsoft.VisualStudio.Shell
程序集: Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)
语法
声明
Sub ConfigureToolboxItem ( _
item As ToolboxItem _
)
void ConfigureToolboxItem(
ToolboxItem item
)
参数
- item
类型:System.Drawing.Design.ToolboxItem
[in] 将修改配置的 ToolboxItem 对象。
备注
工具箱服务将调用此方法时, ToolboxItem 对象首次添加到 工具箱时,或者,在重置时 工具箱 。此方法修改其指定的 ToolboxItem 的属性字典的数据和。这些修改序列化并存储为 Visual Studio IDE 用户设置。
示例
在下面的示例中,类 ToolboxItemConfig 实现所有库的 IConfigureToolboxItem 接口 Vsip 命名空间的。此实现将工具箱项的 ToolboxControl1ToolboxItemFilterAttribute ,以使其可用在 工具箱 ,只有在编辑 UserControl时以及工具箱项 ToolboxControl2 ,使其不在 工具箱 ,编辑 UserControl时。
namespace Vsip.ItemConfiguration {
[ProvideAssemblyFilterAttribute("Vsip.*, Version=*, Culture=*, PublicKeyToken=*")]
[Guid("11BA3E17-12F1-4e48-9E34-AC68335CD9EE")]
public sealed class ToolboxConfig : IConfigureToolboxItem {
...
public void ConfigureToolboxItem(ToolboxItem item) {
if (item == null)
return;
ToolboxItemFilterAttribute newFilter = null;
if (item.TypeName == typeof(ToolboxControl1).ToString()) {
newFilter = new ToolboxItemFilterAttribute("System.Windows.Forms.UserControl",
ToolboxItemFilterType.Require);
}
else if (item.TypeName == typeof(ToolboxControl2).ToString()) {
newFilter = new ToolboxItemFilterAttribute("System.Windows.Forms.UserControl",
ToolboxItemFilterType.Prevent);
}
if (newFilter != null) {
ArrayList array = new ArrayList();
array.Add(newFilter);
item.Filter = (ToolboxItemFilterAttribute[])
array.ToArray(typeof(ToolboxItemFilterAttribute));
}
}
}
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
请参见
参考
Microsoft.VisualStudio.Shell 命名空间
ProvideToolboxItemConfigurationAttribute
ProvideAssemblyFilterAttribute