DesignerActionList.GetSortedActionItems Metoda

Definice

Vrátí kolekci DesignerActionItem objektů obsažených v seznamu.

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

Návraty

Pole DesignerActionItem, které obsahuje položky v tomto seznamu.

Příklady

Následující příklad kódu ukazuje, jak vytvořit kolekci DesignerActionItem objektů.

Úplné vysvětlení tohoto příkladu kódu najdete v tématu Postupy: Připojení inteligentních značek ke komponentě 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

Poznámky

Metoda virtualGetSortedActionItems je implementována pro vrácení v očekávaném pořadí zobrazení kolekce objektů odvozených z DesignerActionItem třídy. Tyto položky mohou být z následujících konkrétních typů.

Typ Popis
DesignerActionHeaderItem Popisek skupiny zobrazený tučným písmem
DesignerActionTextItem Popisek zobrazený ve formátu prostého písma
DesignerActionPropertyItem Položka panelu přidružená k vlastnosti. Může také zobrazit značku zaškrtnutí nebo editor vlastností přidružený k podkladové vlastnosti.
DesignerActionMethodItem Položka panelu zobrazená jako hypertextový odkaz a přidružená k metodě.

Pro každou DesignerActionMethodItem a DesignerActionPropertyItemmusí být do třídy dodané programátorem přidána odpovídající metoda nebo vlastnost odvozená z DesignerActionList třídy. Každá metoda a položka vlastnosti se zobrazí jako aktivní položka; interakce s ním prostřednictvím uživatelského rozhraní (UI) vyvolá odpovídající metodu nebo vlastnost v uvedeném pořadí.

Položky vlastností mají speciální rozhraní panel-item, které umožňuje zobrazení a manipulaci s odpovídajícími hodnotami vlastností. Další informace najdete v DesignerActionPropertyItem třídě.

Pořadí položek ve vráceném poli odpovídá pořadí, ve které se zobrazí na panelu. Položky jsou seskupené podle vlastnosti Category pomocí následujících pravidel:

  • Kategorie první položky, ke které došlo, označuje začátek první skupiny. Tato skupina pokračuje, pokud každá úspěšná položka je ve stejné kategorii. Když dojde k jiné položce, vytvoří se nová kategorie a položka se do ní umístí.

  • Pokud má položka jiný typ než aktuální skupina, ale tato kategorie již byla použita, položka se umístí do odpovídající existující kategorie.

  • Pokud položka nemá kategorii, umístí se na konec panelu do různé skupiny. Tato skupina obsahuje také položky, jejichž vlastnost AllowAssociate je nastavena na false.

Metoda GetSortedActionItems se volá při prvním vytvoření panelu. Chcete-li aktualizovat seznam položek zobrazených na panelu, je nutné volat metodu Refresh.

Platí pro

Viz také