DesignerActionList.GetSortedActionItems Metodo

Definizione

Restituisce l'insieme di oggetti DesignerActionItem contenuti nell'elenco.Returns the collection of DesignerActionItem objects contained in the list.

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

Restituisce

Una matrice DesignerActionItem contenente gli elementi nell'elenco.A DesignerActionItem array that contains the items in this list.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come creare DesignerActionItem una raccolta di oggetti.The following code example demonstrates how to create a collection of DesignerActionItem objects.

Per una spiegazione completa di questo esempio di codice, vedere Procedura: Consente di connettere smart tag a uncomponente Windows Forms.For a complete explanation of this code example, 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

Commenti

Il virtual DesignerActionItem metodo viene implementato per restituire, nell'ordine di visualizzazione previsto, una raccolta di oggetti derivati dalla classe. GetSortedActionItemsThe virtualGetSortedActionItems method is implemented to return, in the expected display order, a collection of objects derived from the DesignerActionItem class. Questi elementi possono essere dei seguenti tipi specifici.These items can be of the following specific types.

TipoType DescriptionDescription
DesignerActionHeaderItem Etichetta del gruppo, visualizzata in grassetto.The group label, displayed in bold.
DesignerActionTextItem Etichetta visualizzata in un tipo di carattere normale.A label, displayed in a plain font.
DesignerActionPropertyItem Elemento del pannello associato a una proprietà.A panel item associated with a property. È inoltre possibile che venga visualizzato un segno di spunta o un editor di proprietà associato alla proprietà sottostante.May also display a check mark or property editor associated with the underlying property.
DesignerActionMethodItem Elemento del pannello visualizzato come collegamento ipertestuale e associato a un metodo.A panel item displayed as a hyperlink and associated with a method.

Per ogni DesignerActionMethodItem e DesignerActionPropertyItem, è necessario aggiungere un metodo o una proprietà corrispondente alla classe DesignerActionList fornita dal programmatore derivata dalla classe.For every DesignerActionMethodItem and DesignerActionPropertyItem, a corresponding method or property must be added to the programmer-supplied class derived from the DesignerActionList class. Ogni metodo e elemento della proprietà viene visualizzato come voce attiva; l'interazione con esso tramite l'interfaccia utente richiama rispettivamente il metodo o la proprietà corrispondente.Each method and property item is displayed as an active entry; interacting with it through the user interface (UI) invokes the corresponding method or property, respectively.

Gli elementi delle proprietà dispongono di una speciale interfaccia Panel-Item che consente la visualizzazione e la modifica dei valori delle proprietà corrispondenti.Property items have a special panel-item interface that enables display and manipulation of their corresponding property values. Per altre informazioni, vedere la classe DesignerActionPropertyItem.For more information, see the DesignerActionPropertyItem class.

L'ordine degli elementi nella matrice restituita corrisponde all'ordine in cui verranno visualizzati nel pannello.The order of the items in the returned array reflects the order that they will appear in the panel. Gli elementi vengono raggruppati in base alla Category proprietà, utilizzando le regole seguenti:The items are grouped according to the Category property, using the following rules:

  • La categoria del primo elemento rilevato indica l'inizio del primo gruppo.The category of the first item encountered signifies the start of the first group. Il gruppo continua fino a quando ogni elemento successivo è della stessa categoria.That group continues as long as each succeeding item is of the same category. Quando viene rilevato un elemento di una nuova categoria diversa, viene creato un nuovo gruppo e l'elemento viene inserito al suo interno.When an item of a different, new category is encountered, a new group is created and the item is placed in it.

  • Se un elemento ha un tipo diverso dal gruppo corrente, ma tale categoria è già stata usata, l'elemento viene inserito nella categoria esistente corrispondente.If an item has a type different than the current group, but that category has already been used, the item is placed in the matching existing category.

  • Se un elemento non dispone di una categoria, viene inserito in un gruppo vario alla fine del pannello.If an item does not have a category, it is placed in a miscellaneous group at the end of the panel. Questo gruppo contiene anche gli elementi AllowAssociate la cui proprietà è falseimpostata su.This group also contains items whose AllowAssociate property is set to false.

Il GetSortedActionItems metodo viene chiamato quando il pannello viene creato per la prima volta.The GetSortedActionItems method is called when the panel is first created. È necessario chiamare il Refresh metodo per aggiornare l'elenco di elementi visualizzati nel pannello.You must call the Refresh method to update the list of items displayed in the panel.

Si applica a

Vedi anche