ToolboxBitmapAttribute Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)


public class ToolboxBitmapAttribute : Attribute


Initializes a new ToolboxBitmapAttribute object with an image from a specified file.


Initializes a new ToolboxBitmapAttribute object based on a 16 x 16 bitmap that is embedded as a resource in a specified assembly.

System_CAPS_pubmethodToolboxBitmapAttribute(Type, String)

Initializes a new ToolboxBitmapAttribute object based on a 16 by 16 bitmap that is embedded as a resource in a specified assembly.


When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)


Indicates whether the specified object is a ToolboxBitmapAttribute object and is identical to this ToolboxBitmapAttribute object.(Overrides Attribute.Equals(Object).)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Gets a hash code for this ToolboxBitmapAttribute object.(Overrides Attribute.GetHashCode().)


Gets the small Image associated with this ToolboxBitmapAttribute object.

System_CAPS_pubmethodGetImage(Object, Boolean)

Gets the small or large Image associated with this ToolboxBitmapAttribute object.


Gets the small Image associated with this ToolboxBitmapAttribute object.

System_CAPS_pubmethodGetImage(Type, Boolean)

Gets the small or large Image associated with this ToolboxBitmapAttribute object.

System_CAPS_pubmethodGetImage(Type, String, Boolean)

Gets the small or large Image associated with this ToolboxBitmapAttribute object.

System_CAPS_pubmethodSystem_CAPS_staticGetImageFromResource(Type, String, Boolean)

Returns an Image object based on a bitmap resource that is embedded in an assembly.


Gets the Type of the current instance.(Inherited from Object.)


When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)


When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)


A ToolboxBitmapAttribute object that has its small image and its large image set to null.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)


Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

You can apply a ToolboxBitmapAttribute to a control so that containers, such as Microsoft Visual Studio Form Designer, can retrieve an icon that represents the control. The bitmap for the icon can be in a file by itself or embedded in the assembly that contains the control. The size of the bitmap that you embed in the control's assembly (or store in a separate file) should be 16 by 16. The GetImage method of a ToolboxBitmapAttribute object can return the small 16 by 16 image or a large 32 by 32 image that it creates by scaling the small image.

If you want to use different versions of your icons with different versions of your assembly, you do not have to modify the ToolboxBitmapAttribute for each version. Instead, you can declare the assembly with a BitmapSuffixInSameAssemblyAttribute or a BitmapSuffixInSatelliteAssemblyAttribute, and specify a BitmapSuffix configuration value for each assembly version. In this case, a file name indicated by a ToolboxBitmapAttribute is interpreted with the bitmap suffix appended.

The following code example demonstrates how to use the ToolboxBitmapAttribute class to set stop.bmp as the toolbox icon for the StopSignControl. This example assumes the existence of a 16-by-16-pixel bitmap named stop.bmp at c:\.

public class StopSignControl:

    internal System.Windows.Forms.Label Label1;
    internal System.Windows.Forms.Button Button1;

    public StopSignControl() : base()
        this.Label1 = new System.Windows.Forms.Label();
        this.Button1 = new System.Windows.Forms.Button();

        this.Label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte) 0));

        this.Label1.ForeColor = System.Drawing.Color.Red;
        this.Label1.Location = new System.Drawing.Point(24, 56);
        this.Label1.Name = "Label1";
        this.Label1.TabIndex = 0;
        this.Label1.Text = "Stop!";
        this.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

        this.Button1.Enabled = false;
        this.Button1.Location = new System.Drawing.Point(56, 88);
        this.Button1.Name = "Button1";
        this.Button1.Size = new System.Drawing.Size(40, 32);
        this.Button1.TabIndex = 1;
        this.Button1.Text = "stop";

        this.Name = "StopSignControl";


    private void StopSignControl_MouseEnter(object sender, System.EventArgs e)

        Label1.Font = new System.Drawing.Font(Label1.Font.FontFamily, 14.0F, 
        Button1.Enabled = true;

    private void StopSignControl_MouseLeave(object sender, System.EventArgs e)

        Label1.Font = new System.Drawing.Font(Label1.Font.FontFamily, 12.0F, 
        Button1.Enabled = false;


.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top