DesignerActionList.GetSortedActionItems Méthode

Définition

Retourne la collection d’objets DesignerActionItem contenus dans la liste.

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

Retours

Tableau DesignerActionItem qui contient les éléments de cette liste.

Exemples

L’exemple de code suivant montre comment créer une collection d’objets DesignerActionItem.

Pour obtenir une explication complète de cet exemple de code, consultez Guide pratique pour attacher des balises actives à un composant 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

Remarques

La méthode virtualGetSortedActionItems est implémentée pour retourner, dans l’ordre d’affichage attendu, une collection d’objets dérivés de la classe DesignerActionItem. Ces éléments peuvent être des types spécifiques suivants.

Type Description
DesignerActionHeaderItem Étiquette de groupe, affichée en gras.
DesignerActionTextItem Étiquette, affichée dans une police simple.
DesignerActionPropertyItem Élément de panneau associé à une propriété. Peut également afficher une coche ou un éditeur de propriétés associé à la propriété sous-jacente.
DesignerActionMethodItem Élément de panneau affiché sous forme de lien hypertexte et associé à une méthode.

Pour chaque DesignerActionMethodItem et DesignerActionPropertyItem, une méthode ou une propriété correspondante doit être ajoutée à la classe fournie par le programmeur dérivée de la classe DesignerActionList. Chaque méthode et élément de propriété s’affiche en tant qu’entrée active ; l’interaction avec elle via l’interface utilisateur appelle respectivement la méthode ou la propriété correspondante.

Les éléments de propriété ont une interface spéciale d’élément de panneau qui permet l’affichage et la manipulation de leurs valeurs de propriété correspondantes. Pour plus d’informations, consultez la classe DesignerActionPropertyItem.

L’ordre des éléments du tableau retourné reflète l’ordre dans lequel ils apparaîtront dans le panneau. Les éléments sont regroupés en fonction de la propriété Category, à l’aide des règles suivantes :

  • La catégorie du premier élément rencontré signifie le début du premier groupe. Ce groupe continue tant que chaque élément qui réussit est de la même catégorie. Lorsqu’un élément d’une autre catégorie est rencontré, un nouveau groupe est créé et l’élément est placé dans celui-ci.

  • Si un élément a un type différent du groupe actuel, mais que cette catégorie a déjà été utilisée, l’élément est placé dans la catégorie existante correspondante.

  • Si un élément n’a pas de catégorie, il est placé dans un groupe divers à la fin du panneau. Ce groupe contient également des éléments dont la propriété AllowAssociate est définie sur false.

La méthode GetSortedActionItems est appelée lors de la création du panneau. Vous devez appeler la méthode Refresh pour mettre à jour la liste des éléments affichés dans le panneau.

S’applique à

Voir aussi