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
Das folgende Codebeispiel enthält eine Beispielimplementierung ComponentDesigner und eine dem Designer zugeordnete Beispielkomponente. Der Designer implementiert eine Überschreibung der -Methode, die Initialize die Basismethode Initialize
aufruft, eine Überschreibung der -Methode, die DoDefaultAction ein MessageBox anzeigt, wenn auf die Komponente doppelt geklickt wird, und eine Überschreibung des Eigenschaftenzugriffsors, der Verbs einen benutzerdefinierten DesignerVerb Menübefehl im 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 stellt einen einfachen Designer bereit, 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 zuordnen, indem Sie einen DesignerAttributeverwenden. 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 Eigenschaftsdeskriptoren hinzugefügt werden.
An das Stammobjekt selbst, das von der IDesignerHost.RootComponent -Eigenschaft zurückgegeben wird, da Sie von seiner Basisklasse erben.
Für Felder, die in der Basisklasse des Stammobjekts gefunden werden. Öffentliche und geschützte Felder aus der Basisklasse werden dem Designer hinzugefügt, sodass 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, indem er auf den Wert festgelegt wird, der von der geerbten Klasse festgelegt wurde. Dieser Wert kann sich vom Standardwert unterscheiden, der in Metadaten gespeichert ist.
Konstruktoren
ComponentDesigner() |
Initialisiert eine neue Instanz der ComponentDesigner-Klasse. |
Eigenschaften
ActionLists |
Ruft die Entwurfszeit-Aktionslisten ab, die von der dem Designer zugeordneten Komponente unterstützt werden. |
AssociatedComponents |
Ruft die Auflistung der Komponenten ab, die der durch den Designer verwalteten Komponente zugeordnet ist. |
Component |
Ruft die Komponente ab, die von diesem Designer entworfen wird. |
InheritanceAttribute |
Ruft ein Attribut ab, das den Vererbungstyp der zugeordneten Komponente angibt. |
Inherited |
Ruft einen Wert ab, der angibt, ob diese Komponente geerbt wurde. |
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 überschreiben. |
Verbs |
Ruft die Entwurfszeitverben ab, die von der dem Designer zugeordneten Komponente unterstützt werden. |
Methoden
Dispose() |
Gibt alle vom ComponentDesigner verwendeten Ressourcen frei. |
Dispose(Boolean) |
Gibt die von ComponentDesigner verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. |
DoDefaultAction() |
Erstellt eine Methodensignatur in der Quellcodedatei für das Standardereignis der Komponente und verschiebt den Cursor des Benutzers an diese Position. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
Finalize() |
Versucht, durch Aufrufen von |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetService(Type) |
Versucht, den angegebenen Diensttyp von der Entwurfsmodussite der Komponente des Designers abzurufen. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
Initialize(IComponent) |
Bereitet den Designer zum 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 mit Einstellungen initialisiert wurde, die nicht der Standardeinstellung entsprechen. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Ruft das InheritanceAttribute des angegebenen ComponentDesigner ab. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnSetComponentDefaults() |
Veraltet.
Veraltet.
Legt die Standardeigenschaften für die Komponente fest. |
PostFilterAttributes(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Attributen, der über einen TypeDescriptor verfügbar gemacht wird. |
PostFilterEvents(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Ereignissen, der über einen TypeDescriptor verfügbar gemacht wird. |
PostFilterProperties(IDictionary) |
Ermöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Eigenschaften, der über einen TypeDescriptor verfügbar gemacht wird. |
PreFilterAttributes(IDictionary) |
Ermöglicht einem Designer das Hinzufügen zu dem Satz von Attributen, der über einen TypeDescriptor verfügbar gemacht wird. |
PreFilterEvents(IDictionary) |
Ermöglicht einem Designer ein Hinzufügen zu dem Satz von Ereignissen, der durch einen TypeDescriptor verfügbar gemacht wird. |
PreFilterProperties(IDictionary) |
Ermöglicht einem Designer ein Hinzufügen zu dem Satz von Eigenschaften, der durch einen TypeDescriptor verfügbar gemacht wird. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Benachrichtigt IComponentChangeService darüber, dass diese Komponente geändert wurde. |
RaiseComponentChanging(MemberDescriptor) |
Benachrichtigt IComponentChangeService darüber, dass diese Komponente gerade geändert wird. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IDesignerFilter.PostFilterAttributes(IDictionary) |
Eine Beschreibung dieses Members finden Sie unter der PostFilterAttributes(IDictionary)-Methode. |
IDesignerFilter.PostFilterEvents(IDictionary) |
Eine Beschreibung dieses Members finden Sie unter der PostFilterEvents(IDictionary)-Methode. |
IDesignerFilter.PostFilterProperties(IDictionary) |
Eine Beschreibung dieses Members finden Sie unter der PostFilterProperties(IDictionary)-Methode. |
IDesignerFilter.PreFilterAttributes(IDictionary) |
Eine Beschreibung dieses Members finden Sie unter der PreFilterAttributes(IDictionary)-Methode. |
IDesignerFilter.PreFilterEvents(IDictionary) |
Eine Beschreibung dieses Members finden Sie unter der PreFilterEvents(IDictionary)-Methode. |
IDesignerFilter.PreFilterProperties(IDictionary) |
Eine Beschreibung dieses Members finden Sie unter der PreFilterProperties(IDictionary)-Methode. |
ITreeDesigner.Children |
Eine Beschreibung dieses Members finden Sie unter der Children-Eigenschaft. |
ITreeDesigner.Parent |
Eine Beschreibung dieses Members finden Sie unter der Parent-Eigenschaft. |