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
Комментарии
Метод virtual
GetSortedActionItems реализуется для возврата в ожидаемом порядке отображения коллекции объектов, производных от класса DesignerActionItem. Эти элементы могут иметь следующие определенные типы.
Тип | Описание |
---|---|
DesignerActionHeaderItem | Метка группы, отображаемая полужирным шрифтом. |
DesignerActionTextItem | Метка, отображаемая в простом шрифте. |
DesignerActionPropertyItem | Элемент панели, связанный с свойством. Также может отображаться флажок или редактор свойств, связанный с базовым свойством. |
DesignerActionMethodItem | Элемент панели, отображаемый как гиперссылка и связанный с методом. |
Для каждого DesignerActionMethodItem и DesignerActionPropertyItemсоответствующий метод или свойство необходимо добавить в предоставленный программистом класс, производный от класса DesignerActionList. Каждый элемент метода и свойства отображается как активная запись; Взаимодействие с ним через пользовательский интерфейс вызывает соответствующий метод или свойство соответственно.
Элементы свойств имеют специальный интерфейс элемента панели, который позволяет отображать и манипулировать соответствующими значениями свойств. Дополнительные сведения см. в DesignerActionPropertyItem классе.
Порядок элементов в возвращаемом массиве отражает порядок их отображения на панели. Элементы группируются в соответствии со свойством Category, используя следующие правила:
Категория первого элемента, обнаруженного, означает начало первой группы. Эта группа продолжается до тех пор, пока каждый успешный элемент имеет одну и ту же категорию. При обнаружении элемента другой категории создается новая группа, а элемент помещается в него.
Если элемент имеет тип, отличный от текущей группы, но эта категория уже использовалась, элемент помещается в соответствующую существующую категорию.
Если элемент не имеет категории, он помещается в другие группы в конце панели. Эта группа также содержит элементы, свойство AllowAssociate которых имеет значение
false
.
Метод GetSortedActionItems вызывается при первом создании панели. Чтобы обновить список элементов, отображаемых на панели, необходимо вызвать метод Refresh.