Udostępnij za pośrednictwem


DesignerActionList.GetSortedActionItems Metoda

Definicja

Zwraca kolekcję obiektów DesignerActionItem 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ę obiektów DesignerActionItem.

Aby uzyskać pełne wyjaśnienie tego przykładu kodu, zobacz Instrukcje: dołączanie tagów inteligentnych do składnika 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

Uwagi

Metoda virtualGetSortedActionItems jest implementowana w celu zwrócenia w oczekiwanej kolejności wyświetlania kolekcji obiektów pochodzących z klasy DesignerActionItem. 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świetlić 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 i DesignerActionPropertyItemnależy dodać odpowiednią metodę lub właściwość do klasy dostarczonej przez programistów pochodzącej z klasy DesignerActionList. 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ą grupowane zgodnie z właściwością Category przy użyciu następujących reguł:

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

  • 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 właściwość AllowAssociate jest ustawiona na wartość false.

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

Dotyczy

Zobacz też