Teilen über


DesignerActionList.GetSortedActionItems Methode

Definition

Gibt die Auflistung DesignerActionItem In der Liste enthaltenen Objekte zurück.

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

Gibt zurück

Ein DesignerActionItem Array, das die Elemente in dieser Liste enthält.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Auflistung von DesignerActionItem Objekten erstellt wird.

Eine vollständige Erläuterung dieses Codebeispiels finden Sie unter 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

Hinweise

Die virtualGetSortedActionItems-Methode wird implementiert, um in der erwarteten Anzeigereihenfolge eine Sammlung von Objekten zurückzugeben, die von der DesignerActionItem Klasse abgeleitet sind. Diese Elemente können die folgenden spezifischen Typen aufweisen.

Art Beschreibung
DesignerActionHeaderItem Die Gruppenbezeichnung, die fett formatiert angezeigt wird.
DesignerActionTextItem Eine Beschriftung, die in einer einfachen Schriftart angezeigt wird.
DesignerActionPropertyItem Ein Panelelement, das einer Eigenschaft zugeordnet ist. Möglicherweise wird auch ein Häkchen oder Eigenschaften-Editor angezeigt, der der zugrunde liegenden Eigenschaft zugeordnet ist.
DesignerActionMethodItem Ein Panelelement, das als Link angezeigt und einer Methode zugeordnet ist.

Für jede DesignerActionMethodItem und DesignerActionPropertyItemmuss eine entsprechende Methode oder Eigenschaft der von der DesignerActionList Klasse abgeleiteten Programmiererklasse hinzugefügt werden. Jede Methode und jedes Eigenschaftselement wird als aktiver Eintrag angezeigt. Durch die Interaktion mit der Benutzeroberfläche wird die entsprechende Methode bzw. Eigenschaft aufgerufen.

Eigenschaftselemente verfügen über eine spezielle Panelelementschnittstelle, die das Anzeigen und Bearbeiten der entsprechenden Eigenschaftswerte ermöglicht. Weitere Informationen finden Sie in der DesignerActionPropertyItem Klasse.

Die Reihenfolge der Elemente im zurückgegebenen Array gibt die Reihenfolge wieder, in der sie im Panel angezeigt werden. Die Elemente werden nach der Category-Eigenschaft gruppiert, wobei die folgenden Regeln verwendet werden:

  • Die Kategorie des ersten gefundenen Elements bedeutet den Anfang der ersten Gruppe. Diese Gruppe wird fortgesetzt, solange jedes erfolgreiche Element derselben Kategorie entspricht. Wenn ein Element einer anderen Kategorie gefunden wird, wird eine neue Gruppe erstellt, und das Element wird darin platziert.

  • Wenn ein Element einen anderen Typ aufweist als die aktuelle Gruppe, aber diese Kategorie bereits verwendet wurde, wird das Element in der übereinstimmenden vorhandenen Kategorie platziert.

  • Wenn ein Element nicht über eine Kategorie verfügt, wird es am Ende des Bereichs in einer anderen Gruppe platziert. Diese Gruppe enthält auch Elemente, deren AllowAssociate Eigenschaft auf falsefestgelegt ist.

Die GetSortedActionItems-Methode wird aufgerufen, wenn das Panel zum ersten Mal erstellt wird. Sie müssen die Refresh-Methode aufrufen, um die Liste der im Panel angezeigten Elemente zu aktualisieren.

Gilt für:

Weitere Informationen