ComponentDesigner Classe

Definição

Estende o comportamento do modo de design de um componente.Extends the design mode behavior of a component.

public ref class ComponentDesigner : IDisposable, System::ComponentModel::Design::IComponentInitializer, System::ComponentModel::Design::IDesignerFilter, System::ComponentModel::Design::ITreeDesigner
public ref 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
public class ComponentDesigner : IDisposable, System.ComponentModel.Design.IDesigner, System.ComponentModel.Design.IDesignerFilter
type ComponentDesigner = class
    interface ITreeDesigner
    interface IDesigner
    interface IDisposable
    interface IDesignerFilter
    interface IComponentInitializer
type ComponentDesigner = class
    interface IDesigner
    interface IDisposable
    interface IDesignerFilter
Public Class ComponentDesigner
Implements IComponentInitializer, IDesignerFilter, IDisposable, ITreeDesigner
Public Class ComponentDesigner
Implements IDesigner, IDesignerFilter, IDisposable
Herança
ComponentDesigner
Derivado
Implementações

Exemplos

O exemplo de código a seguir fornece um exemplo ComponentDesigner implementação e um componente de exemplo associado ao designer.The following code example provides an example ComponentDesigner implementation and an example component associated with the designer. O designer implementa uma substituição do método Initialize que chama o método Initialize base, uma substituição do método DoDefaultAction que exibe um MessageBox quando o componente é clicado duas vezes e uma substituição do acessador da propriedade Verbs que fornece um comando de menu de DesignerVerb personalizado para o menu de atalho do componente.The designer implements an override of the Initialize method that calls the base Initialize method, an override of the DoDefaultAction method that displays a MessageBox when the component is double-clicked, and an override of the Verbs property accessor that supplies a custom DesignerVerb menu command to the shortcut menu for the component.

#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

Comentários

A classe de designer de base ComponentDesigner fornece um designer simples que pode estender o comportamento de um componente associado no modo de design.The ComponentDesigner base designer class provides a simple designer that can extend the behavior of an associated component in design mode.

ComponentDesigner fornece uma implementação de interface de IDesignerFilter vazia, cujos métodos podem ser substituídos para ajustar os atributos, as propriedades e os eventos do componente associado no tempo de design.ComponentDesigner provides an empty IDesignerFilter interface implementation, whose methods can be overridden to adjust the attributes, properties and events of the associated component at design time.

Você pode associar um designer a um tipo usando um DesignerAttribute.You can associate a designer with a type using a DesignerAttribute. Para obter uma visão geral da personalização do comportamento de tempo de design, consulte estendendo o suporte ao tempo de design.For an overview of customizing design-time behavior, see Extending Design-Time Support.

A classe ComponentDesigner implementa um comportamento especial para os descritores de propriedade dos componentes herdados.The ComponentDesigner class implements a special behavior for the property descriptors of inherited components. Um tipo interno chamado InheritedPropertyDescriptor é usado pela implementação de ComponentDesigner padrão para se destacar para propriedades que são herdadas de uma classe base.An internal type named InheritedPropertyDescriptor is used by the default ComponentDesigner implementation to stand in for properties that are inherited from a base class. Há dois casos em que esses descritores de propriedade são adicionados.There are two cases in which these property descriptors are added.

  1. Para o próprio objeto raiz, que é retornado pela propriedade IDesignerHost.RootComponent, porque você está herdando de sua classe base.To the root object itself, which is returned by the IDesignerHost.RootComponent property, because you are inheriting from its base class.

  2. Para campos encontrados na classe base do objeto raiz.To fields found in the base class of the root object. Campos públicos e protegidos da classe base são adicionados ao designer para que possam ser manipulados pelo usuário.Public and protected fields from the base class are added to the designer so that they can be manipulated by the user.

A classe InheritedPropertyDescriptor modifica o valor padrão de uma propriedade, de forma que o valor padrão seja o valor atual na instanciação do objeto.The InheritedPropertyDescriptor class modifies the default value of a property, so that the default value is the current value at object instantiation. Isso ocorre porque a propriedade é herdada de outra instância.This is because the property is inherited from another instance. O designer define a redefinição do valor da propriedade como definindo-o como o valor que foi definido pela classe herdada.The designer defines resetting the property value as setting it to the value that was set by the inherited class. Esse valor pode ser diferente do valor padrão armazenado nos metadados.This value may differ from the default value stored in metadata.

Construtores

ComponentDesigner()

Inicia uma nova instância da classe ComponentDesigner.Initializes a new instance of the ComponentDesigner class.

Propriedades

ActionLists

Obtém as listas de ação de tempo de design com suporte pelo componente associado ao designer.Gets the design-time action lists supported by the component associated with the designer.

AssociatedComponents

Obtém a coleção de componentes associados ao componente gerenciado pelo designer.Gets the collection of components associated with the component managed by the designer.

Component

Obtém o componente que deste designer está criando.Gets the component this designer is designing.

InheritanceAttribute

Obtém um atributo que indica o tipo de herança do componente associado.Gets an attribute that indicates the type of inheritance of the associated component.

Inherited

Obtém um valor que indica se este componente é herdado.Gets a value indicating whether this component is inherited.

ParentComponent

Obtém o componente pai para este designer.Gets the parent component for this designer.

ShadowProperties

Obtém uma coleção de valores de propriedade que substituem as configurações do usuário.Gets a collection of property values that override user settings.

Verbs

Obtém os verbos de tempo de design com suporte pelo componente associado ao designer.Gets the design-time verbs supported by the component that is associated with the designer.

Métodos

Dispose()

Libera todos os recursos usados pelo ComponentDesigner.Releases all resources used by the ComponentDesigner.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo ComponentDesigner e, opcionalmente, libera os recursos gerenciados.Releases the unmanaged resources used by the ComponentDesigner and optionally releases the managed resources.

DoDefaultAction()

Cria uma assinatura de método no arquivo de código-fonte para o evento padrão no componente e navega o cursor do usuário para essa localização.Creates a method signature in the source code file for the default event on the component and navigates the user's cursor to that location.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
Finalize()

Tenta liberar recursos chamando Dispose(false) antes que o objeto seja recuperado pela coleta de lixo.Attempts to free resources by calling Dispose(false) before the object is reclaimed by garbage collection.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetService(Type)

Tenta recuperar o tipo de serviço especificado do site no modo de design do componente do designer.Attempts to retrieve the specified type of service from the design mode site of the designer's component.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
Initialize(IComponent)

Prepara o designer para exibir, editar e criar o componente especificado.Prepares the designer to view, edit, and design the specified component.

InitializeExistingComponent(IDictionary)

Reinicializa um componente existente.Reinitializes an existing component.

InitializeNewComponent(IDictionary)

Inicializa um componente recém-criado.Initializes a newly created component.

InitializeNonDefault()

Inicializa as configurações de um componente importado que já foi inicializado para as configurações que não sejam os padrões.Initializes the settings for an imported component that is already initialized to settings other than the defaults.

InvokeGetInheritanceAttribute(ComponentDesigner)

Obtém o InheritanceAttribute do ComponentDesigner especificado.Gets the InheritanceAttribute of the specified ComponentDesigner.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
OnSetComponentDefaults()

Define as propriedades padrão do componente.Sets the default properties for the component.

PostFilterAttributes(IDictionary)

Permite que um designer altere ou remova itens do conjunto de atributos que ele expõe por meio de um TypeDescriptor.Allows a designer to change or remove items from the set of attributes that it exposes through a TypeDescriptor.

PostFilterEvents(IDictionary)

Permite que um designer altere ou remova itens do conjunto de eventos que ele expõe por meio de um TypeDescriptor.Allows a designer to change or remove items from the set of events that it exposes through a TypeDescriptor.

PostFilterProperties(IDictionary)

Permite que um designer altere ou remova itens do conjunto de propriedades que ele expõe por meio de um TypeDescriptor.Allows a designer to change or remove items from the set of properties that it exposes through a TypeDescriptor.

PreFilterAttributes(IDictionary)

Permite um designer seja adicionado ao conjunto de atributos que ele expõe por meio de um TypeDescriptor.Allows a designer to add to the set of attributes that it exposes through a TypeDescriptor.

PreFilterEvents(IDictionary)

Permite um designer seja adicionado ao conjunto de eventos que ele expõe por meio de um TypeDescriptor.Allows a designer to add to the set of events that it exposes through a TypeDescriptor.

PreFilterProperties(IDictionary)

Permite que um designer adicione ao conjunto de propriedades que ele expõe por meio de um TypeDescriptor.Allows a designer to add to the set of properties that it exposes through a TypeDescriptor.

RaiseComponentChanged(MemberDescriptor, Object, Object)

Notifica o IComponentChangeService de que este componente foi alterado.Notifies the IComponentChangeService that this component has been changed.

RaiseComponentChanging(MemberDescriptor)

Notifica o IComponentChangeService de que este componente está prestes a ser alterado.Notifies the IComponentChangeService that this component is about to be changed.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Implantações explícitas de interface

IDesignerFilter.PostFilterAttributes(IDictionary)

Para obter uma descrição desse membro, consulte o método PostFilterAttributes(IDictionary).For a description of this member, see the PostFilterAttributes(IDictionary) method.

IDesignerFilter.PostFilterEvents(IDictionary)

Para obter uma descrição desse membro, consulte o método PostFilterEvents(IDictionary).For a description of this member, see the PostFilterEvents(IDictionary) method.

IDesignerFilter.PostFilterProperties(IDictionary)

Para obter uma descrição desse membro, consulte o método PostFilterProperties(IDictionary).For a description of this member, see the PostFilterProperties(IDictionary) method.

IDesignerFilter.PreFilterAttributes(IDictionary)

Para obter uma descrição desse membro, consulte o método PreFilterAttributes(IDictionary).For a description of this member, see the PreFilterAttributes(IDictionary) method.

IDesignerFilter.PreFilterEvents(IDictionary)

Para obter uma descrição desse membro, consulte o método PreFilterEvents(IDictionary).For a description of this member, see the PreFilterEvents(IDictionary) method.

IDesignerFilter.PreFilterProperties(IDictionary)

Para obter uma descrição desse membro, consulte o método PreFilterProperties(IDictionary).For a description of this member, see the PreFilterProperties(IDictionary) method.

ITreeDesigner.Children

Para obter uma descrição desse membro, consulte o propriedade Children.For a description of this member, see the Children property.

ITreeDesigner.Parent

Para obter uma descrição desse membro, consulte o propriedade Parent.For a description of this member, see the Parent property.

Aplica-se a

Veja também