DesignerActionList.GetSortedActionItems Метод

Определение

Возвращает коллекцию объектов DesignerActionItem, содержащихся в списке.

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, который содержит элементы списка.

Примеры

В следующем примере кода показано, как создать коллекцию DesignerActionItem объектов .

Полное описание этого примера кода см. в разделе Практическое руководство. Присоединение смарт-тегов к компоненту 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

Комментарии

Метод virtualGetSortedActionItems реализуется для возврата в ожидаемом порядке отображения коллекции объектов, производных от DesignerActionItem класса . Эти элементы могут иметь следующие типы.

Тип Описание
DesignerActionHeaderItem Метка группы, выделенная полужирным шрифтом.
DesignerActionTextItem Метка, отображаемая простым шрифтом.
DesignerActionPropertyItem Элемент панели, связанный со свойством . Также может отображаться проверка метка или редактор свойств, связанный с базовым свойством.
DesignerActionMethodItem Элемент панели, отображаемый в виде гиперссылки и связанный с методом.

Для каждого DesignerActionMethodItem и DesignerActionPropertyItemнеобходимо добавить соответствующий метод или свойство в предоставленный программистом класс, производный DesignerActionList от класса . Каждый метод и элемент свойства отображается в виде активной записи; взаимодействие с ним через пользовательский интерфейс вызывает соответствующий метод или свойство соответственно.

Элементы свойств имеют специальный интерфейс panel-item, который позволяет отображать значения соответствующих свойств и манипулировать ими. Дополнительные сведения см. в описании класса DesignerActionPropertyItem.

Порядок элементов в возвращаемом массиве отражает порядок их отображения на панели. Элементы группируются в соответствии со свойством Category , используя следующие правила:

  • Категория первого обнаруженного элемента означает начало первой группы. Эта группа продолжается до тех пор, пока каждый последующий элемент относится к одной категории. При обнаружении элемента другой, новой категории создается новая группа и элемент помещается в нее.

  • Если тип элемента отличается от текущей группы, но эта категория уже использовалась, элемент помещается в соответствующую существующую категорию.

  • Если элемент не имеет категории, он помещается в группу прочего в конце панели. Эта группа также содержит элементы, свойство которых AllowAssociate имеет значение false.

Метод GetSortedActionItems вызывается при первом создании панели. Чтобы обновить список элементов, отображаемых на панели, необходимо вызвать Refresh метод .

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

См. также раздел