ComponentDesigner Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Rozšiřuje chování režimu návrhu komponenty.
public ref class ComponentDesigner : IDisposable, System::ComponentModel::Design::IDesigner, System::ComponentModel::Design::IDesignerFilter
public ref class ComponentDesigner : IDisposable, System::ComponentModel::Design::IComponentInitializer, System::ComponentModel::Design::IDesignerFilter, System::ComponentModel::Design::ITreeDesigner
public class ComponentDesigner : IDisposable, System.ComponentModel.Design.IDesigner, System.ComponentModel.Design.IDesignerFilter
public class ComponentDesigner : IDisposable, System.ComponentModel.Design.IComponentInitializer, System.ComponentModel.Design.IDesignerFilter, System.ComponentModel.Design.ITreeDesigner
type ComponentDesigner = class
interface IDesigner
interface IDisposable
interface IDesignerFilter
type ComponentDesigner = class
interface ITreeDesigner
interface IDesigner
interface IDisposable
interface IDesignerFilter
interface IComponentInitializer
Public Class ComponentDesigner
Implements IDesigner, IDesignerFilter, IDisposable
Public Class ComponentDesigner
Implements IComponentInitializer, IDesignerFilter, IDisposable, ITreeDesigner
- Dědičnost
-
ComponentDesigner
- Odvozené
- Implementuje
Příklady
Následující příklad kódu poskytuje ukázkovou ComponentDesigner implementaci a ukázkovou komponentu přidruženou k návrháři. Návrhář implementuje přepsání Initialize metody, která volá základní Initialize
metodu, přepsání DoDefaultAction metody, která zobrazí MessageBox , když je komponenta poklikána, a přepsání Verbs přístupové vlastnosti, která poskytuje příkaz vlastní DesignerVerb nabídky místní nabídky pro komponentu.
#using <System.dll>
#using <System.Design.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Windows::Forms;
// Provides an example component designer.
ref class ExampleComponentDesigner: public ComponentDesigner
{
public:
ExampleComponentDesigner()
{
}
// This method provides an opportunity to perform processing when a designer is initialized.
// The component parameter is the component that the designer is associated with.
virtual void Initialize( IComponent^ component ) override
{
// Always call the base Initialize method in an of this method.
ComponentDesigner::Initialize( component );
}
// This method is invoked when the associated component is double-clicked.
virtual void DoDefaultAction() override
{
MessageBox::Show( "The event handler for the default action was invoked." );
}
// This method provides designer verbs.
property DesignerVerbCollection^ Verbs
{
virtual DesignerVerbCollection^ get() override
{
array<DesignerVerb^>^ newDesignerVerbs = {gcnew DesignerVerb( "Example Designer Verb Command", gcnew EventHandler( this, &ExampleComponentDesigner::onVerb ) )};
return gcnew DesignerVerbCollection( newDesignerVerbs );
}
}
private:
// Event handling method for the example designer verb
void onVerb( Object^ sender, EventArgs^ e )
{
MessageBox::Show( "The event handler for the Example Designer Verb Command was invoked." );
}
};
// Provides an example component associated with the example component designer.
[DesignerAttribute(ExampleComponentDesigner::typeid, IDesigner::typeid)]
ref class ExampleComponent: public Component
{
public:
ExampleComponent(){}
};
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Windows.Forms;
namespace ExampleComponent
{
// Provides an example component designer.
public class ExampleComponentDesigner : System.ComponentModel.Design.ComponentDesigner
{
public ExampleComponentDesigner()
{
}
// This method provides an opportunity to perform processing when a designer is initialized.
// The component parameter is the component that the designer is associated with.
public override void Initialize(System.ComponentModel.IComponent component)
{
// Always call the base Initialize method in an override of this method.
base.Initialize(component);
}
// This method is invoked when the associated component is double-clicked.
public override void DoDefaultAction()
{
MessageBox.Show("The event handler for the default action was invoked.");
}
// This method provides designer verbs.
public override System.ComponentModel.Design.DesignerVerbCollection Verbs
{
get
{
return new DesignerVerbCollection( new DesignerVerb[] { new DesignerVerb("Example Designer Verb Command", new EventHandler(this.onVerb)) } );
}
}
// Event handling method for the example designer verb
private void onVerb(object sender, EventArgs e)
{
MessageBox.Show("The event handler for the Example Designer Verb Command was invoked.");
}
}
// Provides an example component associated with the example component designer.
[DesignerAttribute(typeof(ExampleComponentDesigner), typeof(IDesigner))]
public class ExampleComponent : System.ComponentModel.Component
{
public ExampleComponent()
{
}
}
}
Imports System.Collections
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Windows.Forms
Namespace ExampleComponent
' Provides an example component designer.
Public Class ExampleComponentDesigner
Inherits System.ComponentModel.Design.ComponentDesigner
Public Sub New()
End Sub
' This method provides an opportunity to perform processing when a designer is initialized.
' The component parameter is the component that the designer is associated with.
Public Overrides Sub Initialize(ByVal component As System.ComponentModel.IComponent)
' Always call the base Initialize method in an override of this method.
MyBase.Initialize(component)
End Sub
' This method is invoked when the associated component is double-clicked.
Public Overrides Sub DoDefaultAction()
MessageBox.Show("The event handler for the default action was invoked.")
End Sub
' This method provides designer verbs.
Public Overrides ReadOnly Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection
Get
Return New DesignerVerbCollection(New DesignerVerb() {New DesignerVerb("Example Designer Verb Command", New EventHandler(AddressOf Me.onVerb))})
End Get
End Property
' Event handling method for the example designer verb
Private Sub onVerb(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("The event handler for the Example Designer Verb Command was invoked.")
End Sub
End Class
' Provides an example component associated with the example component designer.
<DesignerAttribute(GetType(ExampleComponentDesigner), GetType(IDesigner))> _
Public Class ExampleComponent
Inherits System.ComponentModel.Component
Public Sub New()
End Sub
End Class
End Namespace 'ExampleComponent
Poznámky
Základní ComponentDesigner třída návrháře poskytuje jednoduchého návrháře, který může rozšířit chování přidružené komponenty v režimu návrhu.
ComponentDesigner poskytuje prázdnou IDesignerFilter implementaci rozhraní, jejíž metody lze přepsat pro úpravu atributů, vlastností a událostí přidružené komponenty v době návrhu.
Návrháře můžete přidružit k typu pomocí DesignerAttribute. Přehled přizpůsobení chování při návrhu najdete v tématu Rozšíření podpory Design-Time.
Třída ComponentDesigner implementuje speciální chování pro popisovače vlastností zděděných součástí. Interní typ s názvem InheritedPropertyDescriptor
se používá ve výchozí ComponentDesigner implementaci k tomu, aby stál za vlastnostmi, které jsou zděděné ze základní třídy. Tyto popisovače vlastností se přidají ve dvou případech.
Do samotného kořenového objektu, který je vrácen IDesignerHost.RootComponent vlastností, protože dědíte z jeho základní třídy.
Do polí nalezených v základní třídě kořenového objektu. Veřejná a chráněná pole ze základní třídy se přidají do návrháře, aby s nimi mohl pracovat uživatel.
Třída InheritedPropertyDescriptor
upravuje výchozí hodnotu vlastnosti tak, aby výchozí hodnotou byla aktuální hodnota při vytváření instance objektu. Důvodem je, že vlastnost je zděděna z jiné instance. Návrhář definuje resetování hodnoty vlastnosti jako nastavení na hodnotu, která byla nastavena zděděnou třídou. Tato hodnota se může lišit od výchozí hodnoty uložené v metadatech.
Konstruktory
ComponentDesigner() |
Inicializuje novou instanci ComponentDesigner třídy . |
Vlastnosti
ActionLists |
Získá seznamy akcí v době návrhu podporované komponentou přidruženou k návrháři. |
AssociatedComponents |
Získá kolekci komponent přidružených k komponentě spravované návrhářem. |
Component |
Získá komponentu, která tento návrhář navrhuje. |
InheritanceAttribute |
Získá atribut, který označuje typ dědičnosti přidružené komponenty. |
Inherited |
Získá hodnotu označující, zda je tato součást zděděna. |
ParentComponent |
Získá nadřazenou komponentu pro tohoto návrháře. |
SetTextualDefaultProperty |
Rozšiřuje chování režimu návrhu komponenty. |
ShadowProperties |
Získá kolekci hodnot vlastností, které přepíší nastavení uživatele. |
Verbs |
Získá příkazy v době návrhu podporované komponentou, která je přidružena k návrháři. |
Metody
Dispose() |
Uvolní všechny prostředky používané nástrojem ComponentDesigner. |
Dispose(Boolean) |
Uvolní nespravované prostředky používané nástrojem ComponentDesigner a volitelně uvolní spravované prostředky. |
DoDefaultAction() |
Vytvoří podpis metody v souboru zdrojového kódu pro výchozí událost v komponentě a přejde kurzor uživatele do daného umístění. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Finalize() |
Pokusí se uvolnit prostředky voláním |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetService(Type) |
Pokusí se načíst zadaný typ služby z webu režimu návrhu komponenty návrháře. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
Initialize(IComponent) |
Připraví návrháře k zobrazení, úpravám a návrhu zadané součásti. |
InitializeExistingComponent(IDictionary) |
Znovu inicializuje existující komponentu. |
InitializeNewComponent(IDictionary) |
Inicializuje nově vytvořenou komponentu. |
InitializeNonDefault() |
Zastaralé.
Zastaralé.
Inicializuje nastavení pro importovanou komponentu, která je již inicializována do jiných než výchozích nastavení. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Získá ze zadaného ComponentDesignerobjektu InheritanceAttribute . |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
OnSetComponentDefaults() |
Zastaralé.
Zastaralé.
Nastaví výchozí vlastnosti komponenty. |
PostFilterAttributes(IDictionary) |
Umožňuje návrháři změnit nebo odebrat položky ze sady atributů, které zveřejňuje prostřednictvím TypeDescriptor. |
PostFilterEvents(IDictionary) |
Umožňuje návrháři změnit nebo odebrat položky ze sady událostí, které zveřejňuje prostřednictvím TypeDescriptor. |
PostFilterProperties(IDictionary) |
Umožňuje návrháři změnit nebo odebrat položky ze sady vlastností, které zveřejňuje prostřednictvím objektu TypeDescriptor. |
PreFilterAttributes(IDictionary) |
Umožňuje návrháři přidat do sady atributů, které zveřejňuje prostřednictvím TypeDescriptor. |
PreFilterEvents(IDictionary) |
Umožňuje návrháři přidat do sady událostí, které zveřejňuje prostřednictvím .TypeDescriptor |
PreFilterProperties(IDictionary) |
Umožňuje návrháři přidat do sady vlastností, které zveřejňuje prostřednictvím objektu TypeDescriptor. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
IComponentChangeService Oznámí, že tato komponenta byla změněna. |
RaiseComponentChanging(MemberDescriptor) |
IComponentChangeService Oznámí, že se tato komponenta bude měnit. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IDesignerFilter.PostFilterAttributes(IDictionary) |
Popis tohoto členu najdete v PostFilterAttributes(IDictionary) metodě . |
IDesignerFilter.PostFilterEvents(IDictionary) |
Popis tohoto členu najdete v PostFilterEvents(IDictionary) metodě . |
IDesignerFilter.PostFilterProperties(IDictionary) |
Popis tohoto členu najdete v PostFilterProperties(IDictionary) metodě . |
IDesignerFilter.PreFilterAttributes(IDictionary) |
Popis tohoto členu najdete v PreFilterAttributes(IDictionary) metodě . |
IDesignerFilter.PreFilterEvents(IDictionary) |
Popis tohoto členu najdete v PreFilterEvents(IDictionary) metodě . |
IDesignerFilter.PreFilterProperties(IDictionary) |
Popis tohoto členu najdete v PreFilterProperties(IDictionary) metodě . |
ITreeDesigner.Children |
Popis tohoto členu najdete ve Children vlastnosti . |
ITreeDesigner.Parent |
Popis tohoto členu najdete ve Parent vlastnosti . |