DesignerActionList.GetSortedActionItems Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna a coleção de objetos DesignerActionItem contidos na lista.
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
Retornos
Uma matriz DesignerActionItem que contém os itens nesta lista.
Exemplos
O exemplo de código a seguir demonstra como criar uma coleção de objetos DesignerActionItem.
Para obter uma explicação completa deste exemplo de código, consulte 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
Comentários
O método virtual
GetSortedActionItems é implementado para retornar, na ordem de exibição esperada, uma coleção de objetos derivados da classe DesignerActionItem. Esses itens podem ser dos seguintes tipos específicos.
Tipo | Descrição |
---|---|
DesignerActionHeaderItem | O rótulo do grupo, exibido em negrito. |
DesignerActionTextItem | Um rótulo, exibido em uma fonte simples. |
DesignerActionPropertyItem | Um item de painel associado a uma propriedade. Também pode exibir uma marca de seleção ou editor de propriedades associado à propriedade subjacente. |
DesignerActionMethodItem | Um item de painel exibido como um hiperlink e associado a um método. |
Para cada DesignerActionMethodItem e DesignerActionPropertyItem, um método ou propriedade correspondente deve ser adicionado à classe fornecida pelo programador derivada da classe DesignerActionList. Cada método e item de propriedade é exibido como uma entrada ativa; interagir com ele por meio da interface do usuário (interface do usuário) invoca o método ou a propriedade correspondente, respectivamente.
Os itens de propriedade têm uma interface especial de painel-item que permite a exibição e a manipulação de seus valores de propriedade correspondentes. Para obter mais informações, consulte a classe DesignerActionPropertyItem.
A ordem dos itens na matriz retornada reflete a ordem em que eles aparecerão no painel. Os itens são agrupados de acordo com a propriedade Category, usando as seguintes regras:
A categoria do primeiro item encontrado significa o início do primeiro grupo. Esse grupo continua desde que cada item bem-sucedido seja da mesma categoria. Quando um item de uma categoria diferente é encontrado, um novo grupo é criado e o item é colocado nele.
Se um item tiver um tipo diferente do grupo atual, mas essa categoria já tiver sido usada, o item será colocado na categoria existente correspondente.
Se um item não tiver uma categoria, ele será colocado em um grupo diverso no final do painel. Esse grupo também contém itens cuja propriedade AllowAssociate está definida como
false
.
O método GetSortedActionItems é chamado quando o painel é criado pela primeira vez. Você deve chamar o método Refresh para atualizar a lista de itens exibidos no painel.