Udostępnij za pośrednictwem


DesignerActionList.GetSortedActionItems Metoda

Definicja

Zwraca kolekcję DesignerActionItem obiektów zawartych na liście.

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

Zwraca

Tablica DesignerActionItem zawierająca elementy na tej liście.

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć kolekcję DesignerActionItem obiektów.

Aby uzyskać pełne wyjaśnienie tego przykładu kodu, zobacz How to: Attach Smart Tags to a Windows Forms Component (Instrukcje: dołączanie tagów inteligentnych do składnika formularzy systemu Windows).

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

Uwagi

Metoda virtualGetSortedActionItems jest implementowana w celu zwrócenia w oczekiwanej kolejności wyświetlania kolekcji obiektów pochodnych od DesignerActionItem klasy. Te elementy mogą być następującymi typami.

Typ Opis
DesignerActionHeaderItem Etykieta grupy wyświetlana pogrubioną.
DesignerActionTextItem Etykieta wyświetlana w postaci zwykłej czcionki.
DesignerActionPropertyItem Element panelu skojarzony z właściwością. Może również wyświetlać znacznik wyboru lub edytor właściwości skojarzony z właściwością podstawową.
DesignerActionMethodItem Element panelu wyświetlany jako hiperłącze i skojarzony z metodą.

Dla każdej DesignerActionMethodItem metody i DesignerActionPropertyItemnależy dodać odpowiednią metodę lub właściwość do klasy dostarczonej przez programistę pochodzącej DesignerActionList z klasy. Każda metoda i element właściwości są wyświetlane jako aktywny wpis; interakcja z nim za pośrednictwem interfejsu użytkownika wywołuje odpowiednio odpowiednią metodę lub właściwość.

Elementy właściwości mają specjalny interfejs elementu panelu, który umożliwia wyświetlanie i manipulowanie odpowiednimi wartościami właściwości. Aby uzyskać więcej informacji, zobacz klasę DesignerActionPropertyItem .

Kolejność elementów w zwróconej tablicy odzwierciedla kolejność wyświetlania ich w panelu. Elementy są pogrupowane zgodnie z właściwością Category , korzystając z następujących reguł:

  • Kategoria pierwszego napotkanego elementu oznacza początek pierwszej grupy. Ta grupa będzie kontynuowana tak długo, jak każdy udany element ma tę samą kategorię. Gdy zostanie napotkany element innej, zostanie napotkana nowa kategoria, zostanie utworzona nowa grupa i zostanie umieszczona w niej element.

  • Jeśli element ma typ inny niż bieżąca grupa, ale ta kategoria została już użyta, element zostanie umieszczony w pasującej istniejącej kategorii.

  • Jeśli element nie ma kategorii, zostanie umieszczony w innej grupie na końcu panelu. Ta grupa zawiera również elementy, których AllowAssociate właściwość jest ustawiona na false.

Metoda jest wywoływana GetSortedActionItems po pierwszym utworzeniu panelu. Należy wywołać metodę Refresh , aby zaktualizować listę elementów wyświetlanych w panelu.

Dotyczy

Zobacz też