Share via


ProvideToolboxItemsAttribute Class

Definition

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
[<System.AttributeUsage(System.AttributeTargets.Class, Inherited=true)>]
type ProvideToolboxItemsAttribute = class
    inherit RegistrationAttribute
Public Class ProvideToolboxItemsAttribute
Inherits RegistrationAttribute
Inheritance
ProvideToolboxItemsAttribute
Attributes

Examples

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".

[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0")]  
[ProvideToolboxItems(true, 1)]  
[ProvideToolboxFormat("CF_XMLCODE")]  
[ProvideToolboxFormat("InPlaceMenuEditorMenu")]  
[Guid("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")]  
internal sealed class MyPackage : Package  

Remarks

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.

Constructors

ProvideToolboxItemsAttribute(Int32, Boolean)

Initializes a new instance of ProvideToolboxItemsAttribute for the specified version.

ProvideToolboxItemsAttribute(Int32)

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

Properties

NeedsCallBackAfterReset

Setting this to true will force a ToolboxInitialized event after each toolbox reset. This can be used when developing your package to force the toolbox to ask the list of items to the package everytime (in case it has changed). For shipped products, it is best to leave it to false so that the cache can be used for better performances. Some scenario (such as item list that cannot cannot be persisted to the cache) may need to have this flag set to true

TypeId

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)
Version

Property returning the version of Toolbox items a VSPackage provides.

Methods

GetPackageRegKeyPath(Guid)

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

(Inherited from RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

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.

Unregister(RegistrationAttribute+RegistrationContext)

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

Applies to