ComponentDesigner Classe

Définition

Étend le comportement en mode design d’un composant.

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
Héritage
ComponentDesigner
Dérivé
Implémente

Exemples

L’exemple de code suivant fournit un exemple d' ComponentDesigner implémentation et un exemple de composant associé au concepteur. Le concepteur implémente une substitution de la Initialize méthode qui appelle la Initialize méthode de base, une substitution de la DoDefaultAction méthode qui affiche un MessageBox lorsque l’utilisateur double-clique sur le composant et une substitution de l' Verbs accesseur de propriété qui fournit une DesignerVerb commande de menu personnalisée au menu contextuel du composant.

#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

Remarques

La ComponentDesigner classe de concepteur de base fournit un concepteur simple qui peut étendre le comportement d’un composant associé en mode Design.

ComponentDesigner fournit une IDesignerFilter implémentation d’interface vide, dont les méthodes peuvent être substituées pour ajuster les attributs, les propriétés et les événements du composant associé au moment du Design.

Vous pouvez associer un concepteur à un type à l’aide d’un DesignerAttribute . Pour obtenir une vue d’ensemble de la personnalisation du comportement au moment du design, consultez extension de la prise en charge de Design-Time.

La ComponentDesigner classe implémente un comportement spécial pour les descripteurs de propriété des composants hérités. Un type interne nommé InheritedPropertyDescriptor est utilisé par l’implémentation par défaut ComponentDesigner pour se mettre en attente pour les propriétés héritées d’une classe de base. Il existe deux cas dans lesquels ces descripteurs de propriété sont ajoutés.

  1. À l’objet racine lui-même, qui est retourné par la IDesignerHost.RootComponent propriété, parce que vous héritez de sa classe de base.

  2. Aux champs trouvés dans la classe de base de l’objet racine. Les champs publics et protégés de la classe de base sont ajoutés au concepteur afin qu’ils puissent être manipulés par l’utilisateur.

La InheritedPropertyDescriptor classe modifie la valeur par défaut d’une propriété, afin que la valeur par défaut soit la valeur actuelle à l’instanciation d’objet. Cela est dû au fait que la propriété est héritée d’une autre instance. Le concepteur définit la réinitialisation de la valeur de la propriété en lui affectant la valeur définie par la classe héritée. Cette valeur peut être différente de la valeur par défaut stockée dans les métadonnées.

Constructeurs

ComponentDesigner()

Initialise une nouvelle instance de la classe ComponentDesigner.

Propriétés

ActionLists

Obtient les listes d'actions au moment du design prises en charge par le composant associé au concepteur.

AssociatedComponents

Obtient la collection de composants associés au composant géré par le concepteur.

Component

Obtient le composant qui est créé par ce concepteur.

InheritanceAttribute

Obtient un attribut qui indique le type d'héritage du composant associé.

Inherited

Obtient une valeur indiquant si ce composant est hérité.

ParentComponent

Obtient le composant parent de ce concepteur.

ShadowProperties

Obtient une collection de valeurs de propriétés qui substituent les paramètres utilisateur.

Verbs

Obtient les verbes de design pris en charge par le composant associé au concepteur.

Méthodes

Dispose()

Libère toutes les ressources utilisées par ComponentDesigner.

Dispose(Boolean)

Libère les ressources non managées utilisées par ComponentDesigner et libère éventuellement les ressources managées.

DoDefaultAction()

Crée une signature de méthode dans le fichier de code source de l'événement par défaut du composant et déplace le curseur de l'utilisateur jusqu'à cet emplacement.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Finalize()

Tente de libérer les ressources en appelant Dispose(false) avant que l'objet ne soit récupéré par un garbage collection.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetService(Type)

Tente de récupérer le type spécifié de service du composant du concepteur du site en mode Design.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
Initialize(IComponent)

Prépare le concepteur à afficher, à modifier et à créer le composant spécifié.

InitializeExistingComponent(IDictionary)

Réinitialise un composant existant.

InitializeNewComponent(IDictionary)

Initialise un composant nouvellement créé.

InitializeNonDefault()
Obsolète.
Obsolète.

Initialise les paramètres d'un composant importé qui est déjà initialisé pour utiliser des paramètres autres que ceux par défaut.

InvokeGetInheritanceAttribute(ComponentDesigner)

Obtient le InheritanceAttribute du ComponentDesigner spécifié.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnSetComponentDefaults()
Obsolète.
Obsolète.

Définit les propriétés par défaut du composant.

PostFilterAttributes(IDictionary)

Permet à un concepteur de modifier ou de supprimer des éléments de l'ensemble d'attributs qu'il expose à l'aide d'un TypeDescriptor.

PostFilterEvents(IDictionary)

Permet à un concepteur de modifier ou de supprimer des éléments de l'ensemble d'événements à l'aide d'un TypeDescriptor.

PostFilterProperties(IDictionary)

Permet à un concepteur de modifier ou de supprimer des éléments de l'ensemble de propriétés qu'il expose à l'aide d'un TypeDescriptor.

PreFilterAttributes(IDictionary)

Permet à un concepteur d'ajouter des éléments à l'ensemble d'attributs qu'il expose à l'aide d'un TypeDescriptor.

PreFilterEvents(IDictionary)

Permet à un concepteur d'ajouter des éléments à l'ensemble d'événements qu'il expose à l'aide d'un TypeDescriptor.

PreFilterProperties(IDictionary)

Permet à un concepteur d'ajouter des éléments à l'ensemble de propriétés qu'il expose à l'aide d'un TypeDescriptor.

RaiseComponentChanged(MemberDescriptor, Object, Object)

Avertit le IComponentChangeService que ce composant a été modifié.

RaiseComponentChanging(MemberDescriptor)

Avertit le IComponentChangeService que ce composant est sur le point d'être modifié.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

IDesignerFilter.PostFilterAttributes(IDictionary)

Pour obtenir une description de ce membre, consultez la méthode PostFilterAttributes(IDictionary).

IDesignerFilter.PostFilterEvents(IDictionary)

Pour obtenir une description de ce membre, consultez la méthode PostFilterEvents(IDictionary).

IDesignerFilter.PostFilterProperties(IDictionary)

Pour obtenir une description de ce membre, consultez la méthode PostFilterProperties(IDictionary).

IDesignerFilter.PreFilterAttributes(IDictionary)

Pour obtenir une description de ce membre, consultez la méthode PreFilterAttributes(IDictionary).

IDesignerFilter.PreFilterEvents(IDictionary)

Pour obtenir une description de ce membre, consultez la méthode PreFilterEvents(IDictionary).

IDesignerFilter.PreFilterProperties(IDictionary)

Pour obtenir une description de ce membre, consultez la méthode PreFilterProperties(IDictionary).

ITreeDesigner.Children

Pour obtenir une description de ce membre, consultez la propriétéChildren.

ITreeDesigner.Parent

Pour obtenir une description de ce membre, consultez la propriétéParent.

S’applique à

Voir aussi