DesignerActionPropertyItem Class

Definition

Represents a panel item that is associated with a property in a class derived from DesignerActionList. This class cannot be inherited.

public ref class DesignerActionPropertyItem sealed : System::ComponentModel::Design::DesignerActionItem
public sealed class DesignerActionPropertyItem : System.ComponentModel.Design.DesignerActionItem
type DesignerActionPropertyItem = class
    inherit DesignerActionItem
Public NotInheritable Class DesignerActionPropertyItem
Inherits DesignerActionItem
Inheritance
DesignerActionPropertyItem

Examples

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;
}
Public Overrides Function GetSortedActionItems() _
As DesignerActionItemCollection
    Dim items As 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 Not LockColors Then
        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( _
        Me, _
        "InvertColors", _
        "Invert Colors", _
        "Appearance", _
        "Inverts the fore and background colors.", _
        True))
    End If
    items.Add( _
    New DesignerActionPropertyItem( _
    "Text", _
    "Text String", _
    "Appearance", _
    "Sets the display text."))

    'Create entries for static Information section.
    Dim location As New StringBuilder("Location: ")
    location.Append(colLabel.Location)
    Dim size As New StringBuilder("Size: ")
    size.Append(colLabel.Size)

    items.Add( _
    New DesignerActionTextItem( _
    location.ToString(), _
    "Information"))

    items.Add( _
    New DesignerActionTextItem( _
    size.ToString(), _
    "Information"))

    Return items
End Function

Remarks

The DesignerActionPropertyItem class represents individual items in a smart tag panel. Each item is typically associated with a property in a class that is derived from the DesignerActionList class and supplied by the component author. The association is maintained through the name of the property, as stored in the MemberName property.

Individual panel items are associated together to form a panel by a call to the GetSortedActionItems method of the DesignerActionList class.

To display the value of the associated property, that property must have a get accessor method; to allow editing, the property must have a set accessor method. The way in which the panel allows direct editing of a property item by the user depends on the supporting type information present for the data type of the associated property. The following table shows the likely scheme.

Property type information Property item editing user interface (UI)
Has an associated type editor (UITypeEditor) The type editor associated with the underlying property is displayed for editing the property's value.
Has an associated type converter to a known type (TypeConverter) The type editor for the known type is displayed for editing the property's value. For example, a type converter to String will likely display a TextBox.
Boolean value The item is displayed using a binary UI, such as a check mark.
None of the above. The item is displayed as a non-editable text string using the data type's ToString method.

All fundamental types, such as System.Boolean, and common .NET Framework data types, such as System.String, supply standard type converters and editors. For more information about type converters, see How to: Implement a Type Converter or Generalized Type Conversion. For more information about type editors, see How to: Implement a UI Type Editor.

Constructors

DesignerActionPropertyItem(String, String)

Initializes a new instance of the DesignerActionPropertyItem class, with the specified property and display names.

DesignerActionPropertyItem(String, String, String)

Initializes a new instance of the DesignerActionPropertyItem class, with the specified property and category names, and display text.

DesignerActionPropertyItem(String, String, String, String)

Initializes a new instance of the DesignerActionPropertyItem class, with the specified property and category names, and display and description text.

Properties

AllowAssociate

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

(Inherited from DesignerActionItem)
Category

Gets the group name for an item.

(Inherited from DesignerActionItem)
Description

Gets the supplemental text for the item.

(Inherited from DesignerActionItem)
DisplayName

Gets the text for this item.

(Inherited from DesignerActionItem)
MemberName

Gets the name of the property that this item is associated with.

Properties

Gets a reference to a collection that can be used to store programmer-defined key/value pairs.

(Inherited from DesignerActionItem)
RelatedComponent

Gets or sets a component that contributes its items to the current panel.

ShowInSourceView

Gets or sets a value that indicates whether this item appears in source code view.

(Inherited from DesignerActionItem)

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also