DesignerActionList.GetSortedActionItems Метод

Определение

Возвращает коллекцию объектов DesignerActionItem, содержащихся в списке.Returns the collection of DesignerActionItem objects contained in the list.

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

Возвращаемое значение

Массив типа DesignerActionItem, который содержит элементы списка.A DesignerActionItem array that contains the items in this list.

Примеры

В следующем примере кода показано, как создать коллекцию DesignerActionItem объектов.The following code example demonstrates how to create a collection of DesignerActionItem objects.

Полное описание этого примера кода см. в разделе как Присоединение смарт-тегов к компонентуWindows Forms.For a complete explanation of this code example, see 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

Комментарии

Метод реализуется для возврата, в ожидаемом порядке отображения, коллекции объектов, производных от DesignerActionItem класса. virtual GetSortedActionItemsThe virtualGetSortedActionItems method is implemented to return, in the expected display order, a collection of objects derived from the DesignerActionItem class. Эти элементы могут принадлежать к указанным ниже типам.These items can be of the following specific types.

ТипType ОписаниеDescription
DesignerActionHeaderItem Метка группы, отображаемая полужирным шрифтом.The group label, displayed in bold.
DesignerActionTextItem Метка, отображаемая в виде обычного шрифта.A label, displayed in a plain font.
DesignerActionPropertyItem Элемент Panel, связанный со свойством.A panel item associated with a property. Может также отображать значок галочки или редактор свойств, связанный с базовым свойством.May also display a check mark or property editor associated with the underlying property.
DesignerActionMethodItem Элемент Panel, отображаемый в виде гиперссылки и связанный с методом.A panel item displayed as a hyperlink and associated with a method.

Для каждого DesignerActionMethodItem и DesignerActionPropertyItemнеобходимо добавить соответствующий метод или свойство в DesignerActionList предоставляемый программистом класс, производный от класса.For every DesignerActionMethodItem and DesignerActionPropertyItem, a corresponding method or property must be added to the programmer-supplied class derived from the DesignerActionList class. Каждый метод и элемент свойства отображаются как активная запись. при взаимодействии с ним через пользовательский интерфейс вызывается соответствующий метод или свойство соответственно.Each method and property item is displayed as an active entry; interacting with it through the user interface (UI) invokes the corresponding method or property, respectively.

Элементы свойств имеют специальный интерфейс элемента панели, который обеспечивает отображение и обработку соответствующих значений свойств.Property items have a special panel-item interface that enables display and manipulation of their corresponding property values. Дополнительные сведения см. в описании класса DesignerActionPropertyItem.For more information, see the DesignerActionPropertyItem class.

Порядок элементов в возвращаемом массиве отражает порядок, в котором они будут отображаться на панели.The order of the items in the returned array reflects the order that they will appear in the panel. Элементы группируются в соответствии Category со свойством с помощью следующих правил:The items are grouped according to the Category property, using the following rules:

  • Категория первого найденного элемента обозначает начало первой группы.The category of the first item encountered signifies the start of the first group. Эта группа будет продолжаться, пока каждый поочередный элемент относится к одной категории.That group continues as long as each succeeding item is of the same category. При обнаружении элемента другой, новой категории создается новая группа и элемент помещается в нее.When an item of a different, new category is encountered, a new group is created and the item is placed in it.

  • Если элемент имеет тип, отличный от текущей группы, но эта категория уже используется, элемент помещается в соответствующую существующую категорию.If an item has a type different than the current group, but that category has already been used, the item is placed in the matching existing category.

  • Если элемент не имеет категории, он помещается в группу "Прочие" в конце панели.If an item does not have a category, it is placed in a miscellaneous group at the end of the panel. Эта группа также содержит элементы, AllowAssociate свойство которых имеет falseзначение.This group also contains items whose AllowAssociate property is set to false.

GetSortedActionItems Метод вызывается при первом создании панели.The GetSortedActionItems method is called when the panel is first created. Для обновления списка элементов Refresh , отображаемых на панели, необходимо вызвать метод.You must call the Refresh method to update the list of items displayed in the panel.

Применяется к

Дополнительно