This documentation is archived and is not being maintained.

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

The DesignerActionList type exposes the following members.

Public methodDesignerActionListInitializes a new instance of the DesignerActionList class.

Public propertyAutoShowGets or sets a value indicating whether the smart tag panel should automatically be displayed when it is created.
Public propertyComponentGets the component related to DesignerActionList.

Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetServiceReturns an object that represents a service provided by the component associated with the DesignerActionList.
Public methodGetSortedActionItemsReturns the collection of DesignerActionItem objects contained in the list.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns 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 virtual GetSortedActionItems 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

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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