Export (0) Print
Expand All

DesignerActionItem Class

Provides the base class for types that represent a panel item on a smart tag panel.

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

public abstract class DesignerActionItem

The DesignerActionItem type exposes the following members.

  NameDescription
Public methodDesignerActionItemInitializes a new instance of the DesignerActionItem class.
Top

  NameDescription
Public propertyAllowAssociateGets or sets a value indicating whether to allow this item to be placed into a group of items that have the same Category property value.
Public propertyCategoryGets the group name for an item.
Public propertyDescriptionGets the supplemental text for the item.
Public propertyDisplayNameGets the text for this item.
Public propertyPropertiesGets a reference to a collection that can be used to store programmer-defined key/value pairs.
Public propertyShowInSourceViewGets or sets a value that indicates whether this item appears in source code view.
Top

  NameDescription
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 the default hash function. (Inherited from Object.)
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.)
Top

The DesignerActionItem class serves as an abstract base for classes that represent individual panel items in a smart tag panel, which represents a menu-like user interface (UI) for smart tags. The .NET Framework supplies derived classes that represent the different common entries in a smart tag panel, including plain text, header text, properties and methods of the associated DesignerActionList class, and designer verbs.

Typically, your DesignerAction feature is defined in a programmer-supplied class derived from DesignerActionList, which contains a GetSortedActionItems method that groups individual panel items together to form the smart tag panel. The DesignerActionPropertyItem and DesignerActionMethodItem types are associated with members of the class derived from DesignerActionList, and DesignerActionMethodItem objects are activated when their associated panel entry is selected by the user.

NoteNote

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 items to display improperly.

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

For a full example of implementing smart tags, see How to: Attach Smart Tags to a Windows Forms Component.

public override DesignerActionItemCollection GetSortedActionItems()
{
    DesignerActionItemCollection items = new DesignerActionItemCollection();

    //Define static section header entries.
    items.Add(new DesignerActionHeaderItem("Appearance"));
    items.Add(new DesignerActionHeaderItem("Information"));

    //Boolean property for locking color selections.
    items.Add(new DesignerActionPropertyItem("LockColors",
                     "Lock Colors", "Appearance",
                     "Locks the color properties."));
    if (!LockColors)
    {
        items.Add(new DesignerActionPropertyItem("BackColor",
                         "Back Color", "Appearance",
                         "Selects the background color."));
        items.Add(new DesignerActionPropertyItem("ForeColor",
                         "Fore Color", "Appearance",
                         "Selects the foreground color."));

        //This next method item is also added to the context menu  
        // (as a designer verb).
        items.Add(new DesignerActionMethodItem(this,
                         "InvertColors", "Invert Colors",
                         "Appearance",
                         "Inverts the fore and background colors.",
                          true));
    }
    items.Add(new DesignerActionPropertyItem("Text",
                     "Text String", "Appearance",
                     "Sets the display text."));

    //Create entries for static Information section.
    StringBuilder location = new StringBuilder("Location: ");
    location.Append(colLabel.Location);
    StringBuilder size = new StringBuilder("Size: ");
    size.Append(colLabel.Size);
    items.Add(new DesignerActionTextItem(location.ToString(),
                     "Information"));
    items.Add(new DesignerActionTextItem(size.ToString(),
                     "Information"));

    return items;
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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.
Show:
© 2014 Microsoft