DesignerActionList.GetSortedActionItems Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A listában szereplő objektumok gyűjteményét DesignerActionItem adja vissza.
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
Válaszok
A DesignerActionItem lista elemeit tartalmazó tömb.
Példák
Az alábbi példakód bemutatja, hogyan hozhat létre objektumgyűjteményt DesignerActionItem .
A példakód teljes magyarázatát a A következőhöz: Intelligens címkék csatolása Windows Forms összetevőhöz.
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
Megjegyzések
A virtualGetSortedActionItems metódus a várt megjelenítési sorrendben az osztályból DesignerActionItem származó objektumok gyűjteményének visszaadására lesz implementálva. Ezek az elemek a következő típusúak lehetnek.
| Típus | Leírás |
|---|---|
| DesignerActionHeaderItem | A csoport címkéje félkövér színben jelenik meg. |
| DesignerActionTextItem | Egyszerű betűtípussal megjelenített címke. |
| DesignerActionPropertyItem | Egy tulajdonsághoz társított panelelem. A mögöttes tulajdonsághoz tartozó pipa vagy tulajdonságszerkesztő is megjeleníthető. |
| DesignerActionMethodItem | Egy panelelem hivatkozásként jelenik meg, és egy metódushoz van társítva. |
Minden DesignerActionMethodItemDesignerActionPropertyItemesetben hozzá kell adni egy megfelelő metódust vagy tulajdonságot az osztályból DesignerActionList származó programozó által megadott osztályhoz. Minden metódus és tulajdonságelem aktív bejegyzésként jelenik meg; ha a felhasználói felületen (UI) keresztül kommunikál vele, a megfelelő metódust vagy tulajdonságot hívja meg.
A tulajdonságelemek speciális panelelem-felülettel rendelkeznek, amely lehetővé teszi a megfelelő tulajdonságértékek megjelenítését és kezelését. További információért lásd a DesignerActionPropertyItem osztályt.
A visszaadott tömb elemeinek sorrendje a panelen megjelenő sorrendet tükrözi. Az elemek a Category tulajdonság szerint vannak csoportosítva az alábbi szabályok szerint:
Az első elem kategóriája az első csoport kezdetét jelzi. Ez a csoport addig folytatódik, amíg minden sikeres elem ugyanabba a kategóriába tartozik. Ha egy másik, új kategóriát tartalmazó elemet észlel, létrejön egy új csoport, és az elem belekerül.
Ha egy elem típusa eltér az aktuális csoporttól, de a kategória már használatban van, az elem a meglévő kategória megfelelő kategóriájába kerül.
Ha egy elem nem rendelkezik kategóriával, a panel végén egy vegyes csoportba kerül. Ez a csoport olyan elemeket is tartalmaz, amelyeknek AllowAssociate a tulajdonsága a következőre
falsevan állítva.
A GetSortedActionItems metódus a panel első létrehozásakor lesz meghívva. A panelen megjelenő elemek listájának frissítéséhez meg kell hívnia Refresh a metódust.