DesignerActionList Class
Collapse the table of content
Expand the table of content

DesignerActionList Class


Provides the base class for types that define a list of items used to create a smart tag panel.

Namespace:   System.ComponentModel.Design
Assembly:  System.Design (in System.Design.dll)


public class DesignerActionList


Initializes a new instance of the DesignerActionList class.


Gets or sets a value indicating whether the smart tag panel should automatically be displayed when it is created.


Gets the component related to DesignerActionList.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


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


Serves as the default hash function. (Inherited from Object.)


Returns an object that represents a service provided by the component associated with the DesignerActionList.


Returns the collection of DesignerActionItem objects contained in the list.


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


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


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

The DesignerAction feature enables components and controls to display context-sensitive information and commands. The DesignerAction feature can be thought of as a replacement for designer verbs, because a DesignerActionItem can be displayed in the smart tag panel and also in the shortcut menu associated with a component or control. The DesignerActionList class represents the main point of interaction for developers who want to add smart tag support to their custom components and controls.

DesignerActionList is the base class, derived from by component developers in order to populate a smart tag panel. A smart tag panel represents the menu-like user interface (UI) for smart tags.

This derived class may implement the virtualGetSortedActionItems method to return a collection of objects derived from DesignerActionItem. These objects represent the smart tag panel items. Each item is displayed in the panel according to its type. For example, a DesignerActionTextItem is displayed as a static text label. Active panel items, represented by the DesignerActionPropertyItem and DesignerActionMethodItem types, have a corresponding publicly accessible property or method, respectively, that implements the functionality for that item.

For more information about how to add items to the smart tag panel, see the GetSortedActionItems method.


Forms and dialog boxes can be displayed by members of the class derived from DesignerActionList. By default, the parent of these windows will be the container window for the smart tag panel. Explicitly parenting these child windows to another service or window may cause smart tags to display improperly.

Smart-tag panels do not support scrolling or paging, so be careful not to populate your panels with many smart-tag items. Too many items may result in the smart-tag panel extending beyond the screen boundary.

The following code example demonstrates how to create a collection of DesignerActionItem objects.

For a complete explanation of this code example, see How to: Attach Smart Tags to a Windows Forms Component.

public class ColorLabelActionList :

.NET Framework
Available since 2.0

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
© 2015 Microsoft