DesignerActionList.GetSortedActionItems Metodo

Definizione

Restituisce l'insieme di oggetti DesignerActionItem contenuti nell'elenco.

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.

Esempio

Nell'esempio di codice seguente viene illustrato come creare una raccolta di DesignerActionItem oggetti.

Per una spiegazione completa di questo esempio di codice, vedere Procedura: Collegare smart tag a un componente 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

Commenti

Il virtualGetSortedActionItems metodo viene implementato per restituire, nell'ordine DesignerActionItem di visualizzazione previsto, una raccolta di oggetti derivati dalla classe. Questi elementi possono essere dei tipi specifici seguenti.

Type Descrizione
DesignerActionHeaderItem Etichetta del gruppo, visualizzata in grassetto.
DesignerActionTextItem Etichetta, visualizzata in un tipo di carattere normale.
DesignerActionPropertyItem Elemento del pannello associato a una proprietà. Può anche visualizzare un segno di spunta o un editor di proprietà associato alla proprietà sottostante.
DesignerActionMethodItem Elemento del pannello visualizzato come collegamento ipertestuale e associato a un metodo.

Per ogni DesignerActionMethodItem oggetto e DesignerActionPropertyItem, è necessario aggiungere un metodo o una proprietà corrispondente alla classe fornita dal programmatore derivata dalla DesignerActionList classe . Ogni metodo e elemento della proprietà viene visualizzato come voce attiva; l'interazione con essa tramite l'interfaccia utente richiama rispettivamente il metodo o la proprietà corrispondente.

Gli elementi delle proprietà dispongono di un'interfaccia speciale dell'elemento del pannello che consente la visualizzazione e la manipolazione dei valori delle proprietà corrispondenti. Per altre informazioni, vedere la classe DesignerActionPropertyItem.

L'ordine degli elementi nella matrice restituita riflette l'ordine in cui verranno visualizzati nel pannello. Gli elementi vengono raggruppati in base alla Category proprietà usando le regole seguenti:

  • La categoria del primo elemento rilevato indica l'inizio del primo gruppo. Tale gruppo continua fino a quando ogni elemento riuscito è della stessa categoria. Quando viene rilevato un elemento diverso, viene rilevata una nuova categoria, viene creato un nuovo gruppo e l'elemento viene inserito.

  • Se un elemento ha un tipo diverso dal gruppo corrente, ma tale categoria è già stata usata, l'elemento viene inserito nella categoria esistente corrispondente.

  • Se un elemento non ha una categoria, viene inserito in un gruppo diverso alla fine del pannello. Questo gruppo contiene anche elementi la cui AllowAssociate proprietà è impostata su false.

Il GetSortedActionItems metodo viene chiamato quando il pannello viene creato per la prima volta. È necessario chiamare il metodo per aggiornare l'elenco Refresh di elementi visualizzati nel pannello.

Si applica a

Vedi anche