DesignerActionList.GetSortedActionItems Método

Definición

Devuelve la colección de objetos DesignerActionItem que contiene la lista.

public:
 virtual System::ComponentModel::Design::DesignerActionItemCollection ^ GetSortedActionItems();
public virtual System.ComponentModel.Design.DesignerActionItemCollection GetSortedActionItems ();
abstract member GetSortedActionItems : unit -> System.ComponentModel.Design.DesignerActionItemCollection
override this.GetSortedActionItems : unit -> System.ComponentModel.Design.DesignerActionItemCollection
Public Overridable Function GetSortedActionItems () As DesignerActionItemCollection

Devoluciones

DesignerActionItemCollection

Matriz de DesignerActionItem que contiene los elementos de esta lista.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una colección de DesignerActionItem objetos .

Para obtener una explicación completa de este ejemplo de código, vea Cómo: Adjuntar etiquetas inteligentes a un componente de Windows Forms.

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

Comentarios

El virtual GetSortedActionItems método se implementa para devolver, en el orden de presentación esperado, una colección de objetos derivados de la DesignerActionItem clase . Estos elementos pueden ser de los siguientes tipos específicos.

Tipo Descripción
DesignerActionHeaderItem Etiqueta de grupo, que se muestra en negrita.
DesignerActionTextItem Una etiqueta, que se muestra en una fuente sin formato.
DesignerActionPropertyItem Elemento de panel asociado a una propiedad . También puede mostrar una marca de verificación o un editor de propiedades asociado a la propiedad subyacente.
DesignerActionMethodItem Elemento de panel que se muestra como un hipervínculo y asociado a un método .

Para cada DesignerActionMethodItem y DesignerActionPropertyItem, se debe agregar un método o propiedad correspondiente a la clase proporcionada por el programador derivada de la DesignerActionList clase . Cada método y elemento de propiedad se muestran como una entrada activa; interactuar con él a través de la interfaz de usuario (UI) invoca el método o la propiedad correspondientes, respectivamente.

Los elementos de propiedad tienen una interfaz especial de elemento de panel que permite mostrar y manipular sus valores de propiedad correspondientes. Para obtener más información, vea la clase DesignerActionPropertyItem.

El orden de los elementos de la matriz devuelta refleja el orden en que aparecerán en el panel. Los elementos se agrupan según la Category propiedad mediante las reglas siguientes:

  • La categoría del primer elemento encontrado significa el inicio del primer grupo. Ese grupo continúa siempre que cada elemento correcto sea de la misma categoría. Cuando se encuentra un elemento de otra categoría, se crea un nuevo grupo y se coloca el elemento en él.

  • Si un elemento tiene un tipo diferente al grupo actual, pero esa categoría ya se ha usado, el elemento se coloca en la categoría existente coincidente.

  • Si un elemento no tiene una categoría, se coloca en un grupo varios al final del panel. Este grupo también contiene elementos cuya AllowAssociate propiedad está establecida en false.

Se GetSortedActionItems llama al método cuando se crea el panel por primera vez. Debe llamar al Refresh método para actualizar la lista de elementos que se muestran en el panel.

Se aplica a

Consulte también