ComponentDesigner Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erweitert das Entwurfsmodusverhalten einer Komponente.
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
- Vererbung
-
ComponentDesigner
- Abgeleitet
- Implementiert
Beispiele
Im folgenden Codebeispiel wird eine Beispielimplementierung ComponentDesigner und eine Beispielkomponente bereitgestellt, die dem Designer zugeordnet ist. Der Designer implementiert eine Außerkraftsetzung der Initialize Methode, die die Basismethode Initialize aufruft, eine Außerkraftsetzung der DoDefaultAction Methode, die anzeigt MessageBox , wenn die Komponente doppelt geklickt wird, und eine Außerkraftsetzung des Verbs Eigenschaftenaccessors, der einen benutzerdefinierten DesignerVerb Menübefehl für das Kontextmenü für die Komponente bereitstellt.
#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
Hinweise
Die ComponentDesigner Basis-Designerklasse bietet einen einfachen Designer, der das Verhalten einer zugeordneten Komponente im Entwurfsmodus erweitern kann.
ComponentDesigner stellt eine leere IDesignerFilter Schnittstellenimplementierung bereit, deren Methoden überschrieben werden können, um die Attribute, Eigenschaften und Ereignisse der zugeordneten Komponente zur Entwurfszeit anzupassen.
Sie können einen Designer einem Typ mithilfe eines DesignerAttributeTyps zuordnen. Eine Übersicht über das Anpassen des Entwurfszeitverhaltens finden Sie unter Erweitern Design-Time Support.
Die ComponentDesigner Klasse implementiert ein spezielles Verhalten für die Eigenschaftendeskriptoren geerbter Komponenten. Ein interner Typ namens InheritedPropertyDescriptor wird von der Standardimplementierung ComponentDesigner verwendet, um für Eigenschaften zu stehen, die von einer Basisklasse geerbt werden. Es gibt zwei Fälle, in denen diese Eigenschaftendeskriptoren hinzugefügt werden.
An das Stammobjekt selbst, das von der IDesignerHost.RootComponent Eigenschaft zurückgegeben wird, da Sie von der Basisklasse erben.
To fields found in the base class of the root object. Öffentliche und geschützte Felder aus der Basisklasse werden dem Designer hinzugefügt, damit sie vom Benutzer bearbeitet werden können.
Die InheritedPropertyDescriptor Klasse ändert den Standardwert einer Eigenschaft, sodass der Standardwert der aktuelle Wert bei der Objektinstanziierung ist. Dies liegt daran, dass die Eigenschaft von einer anderen Instanz geerbt wird. Der Designer definiert das Zurücksetzen des Eigenschaftswerts als Festlegen auf den Wert, der von der geerbten Klasse festgelegt wurde. Dieser Wert kann sich von dem Standardwert unterscheiden, der in Metadaten gespeichert ist.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ComponentDesigner() |
Initialisiert eine neue Instanz der ComponentDesigner-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ActionLists |
Ruft die Entwurfszeitaktionslisten ab, die von der Komponente unterstützt werden, die dem Designer zugeordnet ist. |
| AssociatedComponents |
Ruft die Auflistung der Komponenten ab, die der vom Designer verwalteten Komponente zugeordnet sind. |
| Component |
Ruft die Komponente ab, die dieser Designer entwerfen soll. |
| InheritanceAttribute |
Ruft ein Attribut ab, das den Vererbungstyp der zugeordneten Komponente angibt. |
| Inherited |
Ruft einen Wert ab, der angibt, ob diese Komponente geerbt wird. |
| ParentComponent |
Ruft die übergeordnete Komponente für diesen Designer ab. |
| SetTextualDefaultProperty |
Erweitert das Entwurfsmodusverhalten einer Komponente. |
| ShadowProperties |
Ruft eine Auflistung von Eigenschaftswerten ab, die Benutzereinstellungen außer Kraft setzen. |
| Verbs |
Ruft die Entwurfszeitverben ab, die von der Komponente unterstützt werden, die dem Designer zugeordnet ist. |
Methoden
| Name | Beschreibung |
|---|---|
| Dispose() |
Veröffentlicht alle ressourcen, die von der ComponentDesigner. |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den ComponentDesigner verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
| DoDefaultAction() |
Erstellt eine Methodensignatur in der Quellcodedatei für das Standardereignis in der Komponente und navigiert den Cursor des Benutzers zu diesem Speicherort. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Finalize() |
Versucht, Ressourcen freizugeben, indem aufgerufen |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetService(Type) |
Versucht, den angegebenen Diensttyp von der Entwurfsmoduswebsite der Komponente des Designers abzurufen. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| Initialize(IComponent) |
Bereitet den Designer auf das Anzeigen, Bearbeiten und Entwerfen der angegebenen Komponente vor. |
| InitializeExistingComponent(IDictionary) |
Initialisiert eine vorhandene Komponente erneut. |
| InitializeNewComponent(IDictionary) |
Initialisiert eine neu erstellte Komponente. |
| InitializeNonDefault() |
Veraltet.
Veraltet.
Initialisiert die Einstellungen für eine importierte Komponente, die bereits in anderen Einstellungen als den Standardwerten initialisiert ist. |
| InvokeGetInheritanceAttribute(ComponentDesigner) |
Ruft den InheritanceAttribute angegebenen ComponentDesignerab. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| OnSetComponentDefaults() |
Veraltet.
Veraltet.
Legt die Standardeigenschaften für die Komponente fest. |
| PostFilterAttributes(IDictionary) |
Ermöglicht es einem Designer, Elemente aus der Gruppe von Attributen zu ändern oder zu entfernen, die er über eine TypeDescriptor. |
| PostFilterEvents(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus der Gruppe von Ereignissen, die er über eine TypeDescriptor. |
| PostFilterProperties(IDictionary) |
Ermöglicht es einem Designer, Elemente aus dem Satz von Eigenschaften zu ändern oder zu entfernen, die er über eine TypeDescriptor. |
| PreFilterAttributes(IDictionary) |
Ermöglicht es einem Designer, den Satz von Attributen hinzuzufügen, die er über eine TypeDescriptor. |
| PreFilterEvents(IDictionary) |
Ermöglicht es einem Designer, den Satz von Ereignissen hinzuzufügen, die er über eine TypeDescriptor. |
| PreFilterProperties(IDictionary) |
Ermöglicht es einem Designer, den Satz von Eigenschaften hinzuzufügen, die er über eine TypeDescriptor. |
| RaiseComponentChanged(MemberDescriptor, Object, Object) |
Benachrichtigt die IComponentChangeService Änderung dieser Komponente. |
| RaiseComponentChanging(MemberDescriptor) |
Benachrichtigt die IComponentChangeService Komponente darüber, dass diese Komponente geändert werden soll. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IDesignerFilter.PostFilterAttributes(IDictionary) |
Eine Beschreibung dieses Elements finden Sie in der PostFilterAttributes(IDictionary) Methode. |
| IDesignerFilter.PostFilterEvents(IDictionary) |
Eine Beschreibung dieses Elements finden Sie in der PostFilterEvents(IDictionary) Methode. |
| IDesignerFilter.PostFilterProperties(IDictionary) |
Eine Beschreibung dieses Elements finden Sie in der PostFilterProperties(IDictionary) Methode. |
| IDesignerFilter.PreFilterAttributes(IDictionary) |
Eine Beschreibung dieses Elements finden Sie in der PreFilterAttributes(IDictionary) Methode. |
| IDesignerFilter.PreFilterEvents(IDictionary) |
Eine Beschreibung dieses Elements finden Sie in der PreFilterEvents(IDictionary) Methode. |
| IDesignerFilter.PreFilterProperties(IDictionary) |
Eine Beschreibung dieses Elements finden Sie in der PreFilterProperties(IDictionary) Methode. |
| ITreeDesigner.Children |
Eine Beschreibung dieses Elements finden Sie in der Children Eigenschaft. |
| ITreeDesigner.Parent |
Eine Beschreibung dieses Elements finden Sie in der Parent Eigenschaft. |