ProvideToolboxItemsAttribute Class


Apply this attribute to classes implementing VSPackages to declare if they offer a set of items to the Visual Studio Toolbox.

public ref class ProvideToolboxItemsAttribute : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, Inherited=true)]
public class ProvideToolboxItemsAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
type ProvideToolboxItemsAttribute = class
    inherit RegistrationAttribute
Public Class ProvideToolboxItemsAttribute
Inherits RegistrationAttribute


In the example below, the attributes applied to the class MyPackage indicates that it supports version 1 of Toolbox items of with two clipboard formats "CF_XMLCODE" and "InPlaceMenuEditorMenu".

    [ProvideToolboxItems(true, 1)]  
    internal sealed class MyPackage : Package  


Attribute Context

Applies to Classes providing VSPackages by implementing IVsPackage, Package.
Repeatable No
Required attributes ProvideToolboxFormatAttribute
Invalid attributes None

Apply this attribute to a Package-derived class or a class that implements IVsPackage that is required to enable support for users to drag data objects of this format, provided by the class, onto the Toolbox. This implementing class must handle the drop notifications itself.

This attribute is only used for registration purposes, and does not affect how code behaves at runtime.

Depending on the arguments specified in its constructor, this attribute can indicate that a VSPackage does not provide any Toolbox items. If the attribute ProvideToolboxFormatAttribute is added to a class to indicate that it provides Toolbox items, one or more instances of ProvideToolboxFormatAttribute must also be added.

This attribute uses ProvideToolboxFormatAttribute to register a VSPackage as providing Toolbox items of a given format.

If this attribute specifies that Toolbox items are provided, the VSPackage must handle the ToolboxInitialized and ToolboxUpgraded events.

Any VSPackage using this attribute must provide a handler for the ToolboxInitialized and ToolboxUpgraded events.



Creates a new instance of ProvideToolboxItemsAttribute which indicates if a class implementing a VSPackage is providing Toolbox items.

ProvideToolboxItemsAttribute(Int32, Boolean)

Initializes a new instance of ProvideToolboxItemsAttribute for the specified version.



Gets or sets whether the ToolboxInitialized event should be raised after each toolbox reset.


Override the TypeID property in order to let the RegistrationAttribute derived classes to work with System.ComponentModel.TypeDescriptor.GetAttributes(...). An attribute derived from this one will have to override this property only if it needs a better control on the instances that can be applied to a class.

(Inherited from RegistrationAttribute)

Property returning the version of Toolbox items a VSPackage provides.



Gets the registry path (relative to the registry root of the application) of the VSPackage.

(Inherited from RegistrationAttribute)

Registers a VSPackage as a Toolbox item provider for specified formats when called by an external registration tool such as regpkg.exe. For more information, see Registering VSPackages.


Reverses the changes that the Register(RegistrationAttribute+RegistrationContext) method had applied to the registry.

Applies to