ComponentDesigner Klas

Definitie

Breidt het gedrag van de ontwerpmodus van een onderdeel uit.

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
Overname
ComponentDesigner
Afgeleid
Implementeringen

Voorbeelden

Het volgende codevoorbeeld bevat een voorbeeld ComponentDesigner van een implementatie en een voorbeeldonderdeel dat is gekoppeld aan de ontwerpfunctie. De ontwerpfunctie implementeert een onderdrukking van de Initialize methode waarmee de basismethode Initialize wordt aangeroepen, een onderdrukking van de DoDefaultAction methode die wordt MessageBox weergegeven wanneer het onderdeel wordt gedubbeld en een onderdrukking van de Verbs eigenschapstoegangsfunctie die een aangepaste DesignerVerb menuopdracht levert aan het snelmenu voor het onderdeel.

#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

Opmerkingen

De ComponentDesigner basisontwerperklasse biedt een eenvoudige ontwerper die het gedrag van een gekoppeld onderdeel in de ontwerpmodus kan uitbreiden.

ComponentDesigner biedt een lege IDesignerFilter interface-implementatie, waarvan de methoden kunnen worden overschreven om de kenmerken, eigenschappen en gebeurtenissen van het bijbehorende onderdeel tijdens het ontwerp aan te passen.

U kunt een ontwerper koppelen aan een type met behulp van een DesignerAttribute. Zie Uitbreiden Design-Time Ondersteuning voor een overzicht van het aanpassen van ontwerptijdgedrag.

De ComponentDesigner klasse implementeert een speciaal gedrag voor de eigenschapsdescriptors van overgenomen onderdelen. Een intern type met de naam InheritedPropertyDescriptor wordt gebruikt door de standaard ComponentDesigner implementatie om in te staan voor eigenschappen die worden overgenomen van een basisklasse. Er zijn twee gevallen waarin deze eigenschapsdescriptors worden toegevoegd.

  1. Naar het hoofdobject zelf, dat wordt geretourneerd door de IDesignerHost.RootComponent eigenschap, omdat u de basisklasse overneemt.

  2. Naar velden in de basisklasse van het hoofdobject. Openbare en beveiligde velden van de basisklasse worden toegevoegd aan de ontwerpfunctie, zodat ze door de gebruiker kunnen worden bewerkt.

De InheritedPropertyDescriptor klasse wijzigt de standaardwaarde van een eigenschap, zodat de standaardwaarde de huidige waarde is bij het instantiëeren van objecten. Dit komt doordat de eigenschap wordt overgenomen van een ander exemplaar. De ontwerpfunctie definieert het opnieuw instellen van de eigenschapswaarde als instelling voor de waarde die is ingesteld door de overgenomen klasse. Deze waarde kan afwijken van de standaardwaarde die is opgeslagen in metagegevens.

Constructors

Name Description
ComponentDesigner()

Initialiseert een nieuw exemplaar van de ComponentDesigner klasse.

Eigenschappen

Name Description
ActionLists

Hiermee haalt u de ontwerptijdactielijsten op die worden ondersteund door het onderdeel dat is gekoppeld aan de ontwerpfunctie.

AssociatedComponents

Hiermee haalt u de verzameling onderdelen op die zijn gekoppeld aan het onderdeel dat wordt beheerd door de ontwerper.

Component

Hiermee haalt u het onderdeel op dat deze ontwerpfunctie ontwerpt.

InheritanceAttribute

Hiermee wordt een kenmerk opgehaald dat het type overname van het gekoppelde onderdeel aangeeft.

Inherited

Hiermee wordt een waarde opgehaald die aangeeft of dit onderdeel is overgenomen.

ParentComponent

Hiermee haalt u het bovenliggende onderdeel voor deze ontwerpfunctie op.

ShadowProperties

Hiermee haalt u een verzameling eigenschapswaarden op waarmee gebruikersinstellingen worden overschreven.

Verbs

Hiermee haalt u de ontwerptijdwoorden op die worden ondersteund door het onderdeel dat is gekoppeld aan de ontwerpfunctie.

Methoden

Name Description
Dispose()

Alle resources die worden gebruikt door de ComponentDesigner.

Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de ComponentDesigner beheerde resources en brengt eventueel de beheerde resources vrij.

DoDefaultAction()

Hiermee maakt u een methodehandtekening in het broncodebestand voor de standaard gebeurtenis in het onderdeel en navigeert u door de cursor van de gebruiker naar die locatie.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Finalize()

Probeert resources vrij te maken door aan te roepen Dispose(false) voordat het object wordt vrijgemaakt door garbagecollection.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetService(Type)

Hiermee wordt geprobeerd het opgegeven type service op te halen van de ontwerpmodussite van het onderdeel van de ontwerper.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Initialize(IComponent)

Bereidt de ontwerpfunctie voor om het opgegeven onderdeel weer te geven, te bewerken en te ontwerpen.

InitializeExistingComponent(IDictionary)

Een bestaand onderdeel opnieuw initialiseren.

InitializeNewComponent(IDictionary)

Initialiseert een nieuw gemaakt onderdeel.

InitializeNonDefault()
Verouderd.

Initialiseert de instellingen voor een geïmporteerd onderdeel dat al is geïnitialiseerd naar andere instellingen dan de standaardinstellingen.

InvokeGetInheritanceAttribute(ComponentDesigner)

Hiermee haalt u de InheritanceAttribute opgegeven ComponentDesigner.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnSetComponentDefaults()
Verouderd.

Hiermee stelt u de standaardeigenschappen voor het onderdeel in.

PostFilterAttributes(IDictionary)

Hiermee kan een ontwerper items wijzigen of verwijderen uit de set kenmerken die worden weergegeven via een TypeDescriptor.

PostFilterEvents(IDictionary)

Hiermee kan een ontwerper items wijzigen of verwijderen uit de reeks gebeurtenissen die worden weergegeven via een TypeDescriptor.

PostFilterProperties(IDictionary)

Hiermee kan een ontwerper items wijzigen of verwijderen uit de set eigenschappen die deze beschikbaar maakt via een TypeDescriptor.

PreFilterAttributes(IDictionary)

Hiermee kan een ontwerper toevoegen aan de set kenmerken die worden weergegeven via een TypeDescriptor.

PreFilterEvents(IDictionary)

Hiermee kan een ontwerper toevoegen aan de set gebeurtenissen die worden weergegeven via een TypeDescriptor.

PreFilterProperties(IDictionary)

Hiermee kan een ontwerper toevoegen aan de set eigenschappen die deze beschikbaar maakt via een TypeDescriptor.

RaiseComponentChanged(MemberDescriptor, Object, Object)

Hiermee wordt aangegeven IComponentChangeService dat dit onderdeel is gewijzigd.

RaiseComponentChanging(MemberDescriptor)

Hiermee wordt aangegeven IComponentChangeService dat dit onderdeel binnenkort wordt gewijzigd.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IDesignerFilter.PostFilterAttributes(IDictionary)

Zie de PostFilterAttributes(IDictionary) methode voor een beschrijving van dit lid.

IDesignerFilter.PostFilterEvents(IDictionary)

Zie de PostFilterEvents(IDictionary) methode voor een beschrijving van dit lid.

IDesignerFilter.PostFilterProperties(IDictionary)

Zie de PostFilterProperties(IDictionary) methode voor een beschrijving van dit lid.

IDesignerFilter.PreFilterAttributes(IDictionary)

Zie de PreFilterAttributes(IDictionary) methode voor een beschrijving van dit lid.

IDesignerFilter.PreFilterEvents(IDictionary)

Zie de PreFilterEvents(IDictionary) methode voor een beschrijving van dit lid.

IDesignerFilter.PreFilterProperties(IDictionary)

Zie de PreFilterProperties(IDictionary) methode voor een beschrijving van dit lid.

ITreeDesigner.Children

Zie de Children eigenschap voor een beschrijving van dit lid.

ITreeDesigner.Parent

Zie de Parent eigenschap voor een beschrijving van dit lid.

Van toepassing op

Zie ook