(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ComponentDesigner-Klasse

Erweitert das Entwurfsmodusverhalten einer Komponente.

Namespace:  System.ComponentModel.Design
Assembly:  System.Design (in System.Design.dll)

public class ComponentDesigner : ITreeDesigner, 
	IDesigner, IDisposable, IDesignerFilter, IComponentInitializer

Der ComponentDesigner-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeComponentDesignerInitialisiert eine neue Instanz der ComponentDesigner-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftActionListsRuft die Entwurfszeit-Aktionslisten ab, die von der dem Designer zugeordneten Komponente unterstützt werden.
Öffentliche EigenschaftAssociatedComponentsRuft die Auflistung der Komponenten ab, die der durch den Designer verwalteten Komponente zugeordnet ist.
Öffentliche EigenschaftComponentRuft die Komponente ab, die von diesem Designer entworfen wird.
Geschützte EigenschaftInheritanceAttributeRuft ein Attribut ab, das den Vererbungstyp der zugeordneten Komponente angibt.
Geschützte EigenschaftInheritedRuft einen Wert ab, der angibt, ob diese Komponente geerbt wurde.
Geschützte EigenschaftParentComponentRuft die übergeordnete Komponente für diesen Designer ab.
Geschützte EigenschaftShadowPropertiesRuft eine Auflistung von Eigenschaftswerten ab, die Benutzereinstellungen überschreiben.
Öffentliche EigenschaftVerbsRuft die Entwurfszeitverben ab, die von der dem Designer zugeordneten Komponente unterstützt werden.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeDispose()Gibt alle vom ComponentDesigner verwendeten Ressourcen frei.
Geschützte MethodeDispose(Boolean)Gibt die von ComponentDesigner verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.
Öffentliche MethodeDoDefaultActionErstellt eine Methodensignatur in der Quellcodedatei für das Standardereignis der Komponente und verschiebt den Cursor des Benutzers an diese Position.
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalizeVersucht, durch Aufrufen von Dispose(false) Ressourcen freizugeben, bevor das Objekt durch die Garbage Collection wieder zugänglich gemacht wird. (Überschreibt Object.Finalize().)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Geschützte MethodeGetServiceVersucht, den angegebenen Diensttyp von der Entwurfsmodussite der Komponente des Designers abzurufen.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeInitializeBereitet den Designer zum Anzeigen, Bearbeiten und Entwerfen der angegebenen Komponente vor.
Öffentliche MethodeInitializeExistingComponentInitialisiert eine vorhandene Komponente erneut.
Öffentliche MethodeInitializeNewComponentInitialisiert eine neu erstellte Komponente.
Öffentliche MethodeInitializeNonDefault Veraltet. Initialisiert die Einstellungen für eine importierte Komponente, die bereits mit Einstellungen initialisiert wurde, die nicht der Standardeinstellung entsprechen.
Geschützte MethodeInvokeGetInheritanceAttributeRuft das InheritanceAttribute des angegebenen ComponentDesigner ab.
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeOnSetComponentDefaults Veraltet. Legt die Standardeigenschaften für die Komponente fest.
Geschützte MethodePostFilterAttributesErmöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Attributen, der über einen TypeDescriptor verfügbar gemacht wird.
Geschützte MethodePostFilterEventsErmöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Ereignissen, der über einen TypeDescriptor verfügbar gemacht wird.
Geschützte MethodePostFilterPropertiesErmöglicht einem Designer das Ändern oder Entfernen von Elementen aus dem Satz von Eigenschaften, der über einen TypeDescriptor verfügbar gemacht wird.
Geschützte MethodePreFilterAttributesErmöglicht einem Designer das Hinzufügen zu dem Satz von Attributen, der über einen TypeDescriptor verfügbar gemacht wird.
Geschützte MethodePreFilterEventsErmöglicht einem Designer ein Hinzufügen zu dem Satz von Ereignissen, der durch einen TypeDescriptor verfügbar gemacht wird.
Geschützte MethodePreFilterPropertiesErmöglicht einem Designer ein Hinzufügen zu dem Satz von Eigenschaften, der durch einen TypeDescriptor verfügbar gemacht wird.
Geschützte MethodeRaiseComponentChangedBenachrichtigt IComponentChangeService darüber, dass diese Komponente geändert wurde.
Geschützte MethodeRaiseComponentChangingBenachrichtigt IComponentChangeService darüber, dass diese Komponente gerade geändert wird.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeIDesignerFilter.PostFilterAttributesEine Beschreibung dieses Members finden Sie unter der IDesignerFilter.PostFilterAttributes-Methode.
Explizite SchnittstellenimplementierungPrivate MethodeIDesignerFilter.PostFilterEventsEine Beschreibung dieses Members finden Sie unter der IDesignerFilter.PostFilterEvents-Methode.
Explizite SchnittstellenimplementierungPrivate MethodeIDesignerFilter.PostFilterPropertiesEine Beschreibung dieses Members finden Sie unter der IDesignerFilter.PostFilterProperties-Methode.
Explizite SchnittstellenimplementierungPrivate MethodeIDesignerFilter.PreFilterAttributesEine Beschreibung dieses Members finden Sie unter der IDesignerFilter.PreFilterAttributes-Methode.
Explizite SchnittstellenimplementierungPrivate MethodeIDesignerFilter.PreFilterEventsEine Beschreibung dieses Members finden Sie unter der IDesignerFilter.PreFilterEvents-Methode.
Explizite SchnittstellenimplementierungPrivate MethodeIDesignerFilter.PreFilterPropertiesEine Beschreibung dieses Members finden Sie unter der IDesignerFilter.PreFilterProperties-Methode.
Explizite SchnittstellenimplementierungPrivate EigenschaftITreeDesigner.ChildrenEine Beschreibung dieses Members finden Sie unter der ITreeDesigner.Children-Eigenschaft.
Explizite SchnittstellenimplementierungPrivate EigenschaftITreeDesigner.ParentEine Beschreibung dieses Members finden Sie unter der ITreeDesigner.Parent-Eigenschaft.
Zum Seitenanfang

Die ComponentDesigner-Designerbasisklasse 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 Komponenten zur Entwurfszeit anzupassen.

Mit einem DesignerAttribute können Sie einem Designer einen Typ zuordnen. Eine Übersicht über das Anpassen des Entwurfszeitverhaltens finden Sie unter Erweitern der Entwurfszeitunterstützung.

Die ComponentDesigner-Klasse implementiert ein spezielles Verhalten für die Eigenschaftendeskriptoren geerbter Komponenten. Der interne Typ InheritedPropertyDescriptor wird von der ComponentDesigner-Implementierung als Ersatz für Eigenschaften verwendet, die von einer Basisklasse geerbt werden. In zwei Fällen werden diese Eigenschaftendeskriptoren hinzugefügt.

  1. Dem Stammobjekt selbst, das von der IDesignerHost.RootComponent-Eigenschaft zurückgegeben wird, da Sie von deren Basisklasse erben.

  2. Feldern in der Basisklasse des Stammobjekts. Öffentliche und geschützte Felder in der Basisklasse werden dem Designer so hinzugefügt, dass diese vom Benutzer bearbeitet werden können.

Die InheritedPropertyDescriptor-Klasse ändert den Standardwert einer Eigenschaft, sodass der Standardwert bei der Objektinstanziierung als aktueller Wert verwendet wird. Der Grund dafür besteht darin, dass die Eigenschaft von einer anderen Instanz geerbt wird. Der Designer definiert das erneute Festlegen des Eigenschaftswerts als Festlegen auf den von der geerbten Klasse festgelegten Wert. Dieser Wert unterscheidet sich möglicherweise von dem in den Metadaten gespeicherten Standardwert.

Das folgende Codebeispiel enthält eine ComponentDesigner-Beispielimplementierung und eine dem Designer zugeordnete Beispielkomponente. Der Designer implementiert eine Überschreibung der Initialize-Methode, die die Initialize-Basismethode aufruft, eine Überschreibung der DoDefaultAction-Methode, die beim Doppelklicken auf die Komponente eine MessageBox anzeigt, und eine Überschreibung des Verbs-Eigenschaftenaccessors, der im Kontextmenü für die Komponente einen benutzerdefinierten DesignerVerb-Menübefehl bereitstellt.


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()
        {
        }
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft