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ładowy kod 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 wyświetla MessageBox element, gdy składnik jest dwukrotnie klikany, oraz zastępowanie 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 ComponentDesigner projektanta podstawowego udostępnia prostego projektanta, który może rozszerzyć zachowanie skojarzonego składnika w trybie projektowania.
ComponentDesigner Zapewnia 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ę do oznaczania właściwości dziedziczonej 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 właściwość, ponieważ dziedziczysz z jej klasy bazowej IDesignerHost.RootComponent .
Do pól znalezionych w klasie bazowej obiektu głównego. Pola publiczne i chronione z klasy bazowej są dodawane do projektanta, aby mogły być manipulowane 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 listy akcji czasu projektowania obsługiwane 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. |
SetTextualDefaultProperty |
Rozszerza zachowanie trybu projektowania składnika. |
ShadowProperties |
Pobiera kolekcję wartości właściwości, które zastępują ustawienia użytkownika. |
Verbs |
Pobiera czasy projektowania 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, wywołując wywołanie |
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 bieżące wystąpienie. (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() |
Przestarzałe.
Przestarzałe.
Inicjuje ustawienia zaimportowanego składnika, który jest już inicjowany do ustawień innych niż domyślne. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
InheritanceAttribute Pobiera określony ComponentDesignerelement . |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnSetComponentDefaults() |
Przestarzałe.
Przestarzałe.
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 uwidacznianych za pomocą elementu TypeDescriptor. |
PreFilterAttributes(IDictionary) |
Umożliwia projektantowi dodanie do zestawu atrybutów uwidacznianych 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 uwidacznianych za pośrednictwem elementu TypeDescriptor. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Powiadamia o IComponentChangeService zmianie tego składnika. |
RaiseComponentChanging(MemberDescriptor) |
Powiadamia o IComponentChangeService zmianie tego składnika. |
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ść . |