ComponentDesigner Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozszerza zachowanie trybu projektowania składnika.
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
- Dziedziczenie
-
ComponentDesigner
- Pochodne
- Implementuje
Przykłady
Poniższy przykład kodu zawiera przykładową ComponentDesigner implementację i przykładowy składnik skojarzony z projektantem. Projektant implementuje przesłonięcia Initialize metody, która wywołuje metodę podstawową Initialize
, przesłonięć DoDefaultAction metodę, która jest wyświetlana MessageBox po dwukrotnym kliknięciu składnika i przesłonięcia Verbs metody dostępu właściwości, która dostarcza niestandardowe DesignerVerb polecenie menu do menu skrótów dla składnika.
#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
Uwagi
Klasa projektanta ComponentDesigner podstawowego udostępnia prostego projektanta, który może rozszerzyć zachowanie skojarzonego składnika w trybie projektowania.
ComponentDesigner Udostępnia pustą IDesignerFilter implementację interfejsu, której metody można zastąpić w celu dostosowania atrybutów, właściwości i zdarzeń skojarzonego składnika w czasie projektowania.
Projektanta można skojarzyć z typem przy użyciu elementu DesignerAttribute. Aby zapoznać się z omówieniem dostosowywania zachowania w czasie projektowania, zobacz Rozszerzanie obsługi Design-Time.
Klasa ComponentDesigner implementuje specjalne zachowanie deskryptorów właściwości odziedziczonych składników. Typ wewnętrzny o nazwie InheritedPropertyDescriptor
jest używany przez domyślną ComponentDesigner implementację, aby wyróżniać właściwości dziedziczone z klasy bazowej. Istnieją dwa przypadki, w których te deskryptory właściwości są dodawane.
Do samego obiektu głównego, który jest zwracany przez IDesignerHost.RootComponent właściwość , ponieważ dziedziczysz z jej klasy bazowej.
Do pól znalezionych w klasie bazowej obiektu głównego. Pola publiczne i chronione z klasy bazowej są dodawane do projektanta, aby można było nimi manipulować przez użytkownika.
Klasa InheritedPropertyDescriptor
modyfikuje wartość domyślną właściwości, tak aby wartość domyślna to bieżąca wartość wystąpienia obiektu. Dzieje się tak, ponieważ właściwość jest dziedziczona z innego wystąpienia. Projektant definiuje zresetowanie wartości właściwości jako ustawienie jej na wartość ustawioną przez dziedziczonej klasy. Ta wartość może różnić się od wartości domyślnej przechowywanej w metadanych.
Konstruktory
ComponentDesigner() |
Inicjuje nowe wystąpienie klasy ComponentDesigner. |
Właściwości
ActionLists |
Pobiera listę akcji czasu projektowania obsługiwaną przez składnik skojarzony z projektantem. |
AssociatedComponents |
Pobiera kolekcję składników skojarzonych ze składnikiem zarządzanym przez projektanta. |
Component |
Pobiera składnik, który projektuje ten projektant. |
InheritanceAttribute |
Pobiera atrybut wskazujący typ dziedziczenia skojarzonego składnika. |
Inherited |
Pobiera wartość wskazującą, czy ten składnik jest dziedziczony. |
ParentComponent |
Pobiera składnik nadrzędny dla tego projektanta. |
ShadowProperties |
Pobiera kolekcję wartości właściwości, które zastępują ustawienia użytkownika. |
Verbs |
Pobiera czas projektowania czasowniki obsługiwane przez składnik skojarzony z projektantem. |
Metody
Dispose() |
Zwalnia wszelkie zasoby używane przez element ComponentDesigner. |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element ComponentDesigner i opcjonalnie zwalnia zasoby zarządzane. |
DoDefaultAction() |
Tworzy podpis metody w pliku kodu źródłowego dla zdarzenia domyślnego w składniku i przechodzi kursor użytkownika do tej lokalizacji. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Finalize() |
Próbuje zwolnić zasoby przez wywołanie metody |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetService(Type) |
Próbuje pobrać określony typ usługi z witryny trybu projektowania składnika projektanta. |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
Initialize(IComponent) |
Przygotowuje projektanta do wyświetlania, edytowania i projektowania określonego składnika. |
InitializeExistingComponent(IDictionary) |
Ponownie inicjuje istniejący składnik. |
InitializeNewComponent(IDictionary) |
Inicjuje nowo utworzony składnik. |
InitializeNonDefault() |
Nieaktualne.
Nieaktualne.
Inicjuje ustawienia zaimportowanego składnika, który jest już inicjowany do ustawień innych niż domyślne. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Pobiera element InheritanceAttribute określonego ComponentDesignerelementu . |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnSetComponentDefaults() |
Nieaktualne.
Nieaktualne.
Ustawia domyślne właściwości składnika. |
PostFilterAttributes(IDictionary) |
Umożliwia projektantowi zmianę lub usunięcie elementów z zestawu atrybutów, które uwidacznia za pośrednictwem elementu TypeDescriptor. |
PostFilterEvents(IDictionary) |
Umożliwia projektantowi zmianę lub usunięcie elementów z zestawu zdarzeń udostępnianych za pośrednictwem elementu TypeDescriptor. |
PostFilterProperties(IDictionary) |
Umożliwia projektantowi zmianę lub usunięcie elementów z zestawu właściwości, które uwidacznia za pośrednictwem elementu TypeDescriptor. |
PreFilterAttributes(IDictionary) |
Umożliwia projektantowi dodanie do zestawu atrybutów, które uwidacznia za pośrednictwem elementu TypeDescriptor. |
PreFilterEvents(IDictionary) |
Umożliwia projektantowi dodanie do zestawu zdarzeń, które uwidacznia za pośrednictwem elementu TypeDescriptor. |
PreFilterProperties(IDictionary) |
Umożliwia projektantowi dodanie do zestawu właściwości, które uwidacznia za pośrednictwem elementu TypeDescriptor. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Powiadamia o IComponentChangeService zmianie tego składnika. |
RaiseComponentChanging(MemberDescriptor) |
Powiadamia o tym IComponentChangeService , że ten składnik ma zostać zmieniony. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IDesignerFilter.PostFilterAttributes(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz metodę PostFilterAttributes(IDictionary) . |
IDesignerFilter.PostFilterEvents(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz metodę PostFilterEvents(IDictionary) . |
IDesignerFilter.PostFilterProperties(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz metodę PostFilterProperties(IDictionary) . |
IDesignerFilter.PreFilterAttributes(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz metodę PreFilterAttributes(IDictionary) . |
IDesignerFilter.PreFilterEvents(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz metodę PreFilterEvents(IDictionary) . |
IDesignerFilter.PreFilterProperties(IDictionary) |
Aby uzyskać opis tego elementu członkowskiego, zobacz metodę PreFilterProperties(IDictionary) . |
ITreeDesigner.Children |
Aby uzyskać opis tego elementu członkowskiego, zobacz Children właściwość . |
ITreeDesigner.Parent |
Aby uzyskać opis tego elementu członkowskiego, zobacz Parent właściwość . |