ComponentDesigner Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Étend le comportement du mode de conception 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 ComponentDesigner d’implémentation et un exemple de composant associé au concepteur. Le concepteur implémente un remplacement de la Initialize méthode qui appelle la méthode de base Initialize , un remplacement de la DoDefaultAction méthode qui affiche une MessageBox fois le composant double-cliqué et un remplacement de l’accesseur Verbs de propriété qui fournit une commande de menu personnalisé DesignerVerb 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 création.
ComponentDesigner fournit une implémentation d’interface vide IDesignerFilter , 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 Design-Time support.
La ComponentDesigner classe implémente un comportement spécial pour les descripteurs de propriétés des composants hérités. Un type interne nommé InheritedPropertyDescriptor est utilisé par l’implémentation par défaut ComponentDesigner pour se trouver dans 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.
À l’objet racine lui-même, qui est retourné par la IDesignerHost.RootComponent propriété, car vous héritez de sa classe de base.
Pour les 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 de l’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 propriété comme la définissant sur la valeur définie par la classe héritée. Cette valeur peut différer de la valeur par défaut stockée dans les métadonnées.
Constructeurs
| Nom | Description |
|---|---|
| ComponentDesigner() |
Initialise une nouvelle instance de la classe ComponentDesigner. |
Propriétés
| Nom | Description |
|---|---|
| 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 que ce concepteur conçoit. |
| 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. |
| SetTextualDefaultProperty |
Étend le comportement du mode de conception d’un composant. |
| ShadowProperties |
Obtient une collection de valeurs de propriété qui remplacent les paramètres utilisateur. |
| Verbs |
Obtient les verbes au moment du design pris en charge par le composant associé au concepteur. |
Méthodes
| Nom | Description |
|---|---|
| Dispose() |
Libère toutes les ressources utilisées par le ComponentDesigner. |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les ComponentDesigner ressources gérées et libère éventuellement les ressources managées. |
| DoDefaultAction() |
Crée une signature de méthode dans le fichier de code source pour l’événement par défaut sur le composant et accède au curseur de l’utilisateur à 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 des ressources en appelant |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetService(Type) |
Tente de récupérer le type de service spécifié à partir du site en mode conception du composant du concepteur. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| Initialize(IComponent) |
Prépare le concepteur à afficher, modifier et concevoir 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é dans des paramètres autres que les paramètres par défaut. |
| InvokeGetInheritanceAttribute(ComponentDesigner) |
Obtient le InheritanceAttributeComponentDesigner. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (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 par le biais d’un TypeDescriptor. |
| PostFilterEvents(IDictionary) |
Permet à un concepteur de modifier ou de supprimer des éléments de l’ensemble d’événements qu’il expose par le biais 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 par le biais d’un TypeDescriptor. |
| PreFilterAttributes(IDictionary) |
Permet à un concepteur d’ajouter à l’ensemble d’attributs qu’il expose par le biais d’un TypeDescriptor. |
| PreFilterEvents(IDictionary) |
Permet à un concepteur d’ajouter à l’ensemble d’événements qu’il expose par le biais d’un TypeDescriptor. |
| PreFilterProperties(IDictionary) |
Permet à un concepteur d’ajouter à l’ensemble de propriétés qu’il expose par le biais d’un TypeDescriptor. |
| RaiseComponentChanged(MemberDescriptor, Object, Object) |
Avertit que IComponentChangeService ce composant a été modifié. |
| RaiseComponentChanging(MemberDescriptor) |
Avertit que IComponentChangeService 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
| Nom | Description |
|---|---|
| IDesignerFilter.PostFilterAttributes(IDictionary) |
Pour obtenir une description de ce membre, consultez la PostFilterAttributes(IDictionary) méthode. |
| IDesignerFilter.PostFilterEvents(IDictionary) |
Pour obtenir une description de ce membre, consultez la PostFilterEvents(IDictionary) méthode. |
| IDesignerFilter.PostFilterProperties(IDictionary) |
Pour obtenir une description de ce membre, consultez la PostFilterProperties(IDictionary) méthode. |
| IDesignerFilter.PreFilterAttributes(IDictionary) |
Pour obtenir une description de ce membre, consultez la PreFilterAttributes(IDictionary) méthode. |
| IDesignerFilter.PreFilterEvents(IDictionary) |
Pour obtenir une description de ce membre, consultez la PreFilterEvents(IDictionary) méthode. |
| IDesignerFilter.PreFilterProperties(IDictionary) |
Pour obtenir une description de ce membre, consultez la PreFilterProperties(IDictionary) méthode. |
| ITreeDesigner.Children |
Pour obtenir une description de ce membre, consultez la Children propriété. |
| ITreeDesigner.Parent |
Pour obtenir une description de ce membre, consultez la Parent propriété. |