ComponentDesigner Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Extiende el comportamiento del modo de diseño de un componente.
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
- Herencia
-
ComponentDesigner
- Derivado
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se proporciona una implementación de ejemplo ComponentDesigner y un componente de ejemplo asociado al diseñador. El diseñador implementa una invalidación del Initialize método que llama al método baseInitialize, una invalidación del método que muestra un MessageBox cuando se hace doble clic en el componente y una invalidación del descriptor de acceso de propiedad Verbs que proporciona un comando de DoDefaultAction menú personalizado DesignerVerb al menú contextual del componente.
#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
Comentarios
La ComponentDesigner clase de diseñador base proporciona un diseñador sencillo que puede ampliar el comportamiento de un componente asociado en modo de diseño.
ComponentDesigner proporciona una implementación de interfaz vacía IDesignerFilter , cuyos métodos se pueden invalidar para ajustar los atributos, propiedades y eventos del componente asociado en tiempo de diseño.
Puede asociar un diseñador a un tipo mediante .DesignerAttribute Para obtener información general sobre cómo personalizar el comportamiento en tiempo de diseño, consulte Extensión de Design-Time soporte técnico.
La ComponentDesigner clase implementa un comportamiento especial para los descriptores de propiedad de los componentes heredados. La implementación predeterminada ComponentDesigner usa un tipo interno denominado InheritedPropertyDescriptor para que se incluya en las propiedades que se heredan de una clase base. Hay dos casos en los que se agregan estos descriptores de propiedad.
Para el propio objeto raíz, que devuelve la IDesignerHost.RootComponent propiedad , porque hereda de su clase base.
Para los campos encontrados en la clase base del objeto raíz. Los campos públicos y protegidos de la clase base se agregan al diseñador para que el usuario pueda manipularlos.
La InheritedPropertyDescriptor clase modifica el valor predeterminado de una propiedad, de modo que el valor predeterminado sea el valor actual en la creación de instancias del objeto. Esto se debe a que la propiedad se hereda de otra instancia. El diseñador define el restablecimiento del valor de propiedad como establecerlo en el valor establecido por la clase heredada. Este valor puede diferir del valor predeterminado almacenado en los metadatos.
Constructores
| Nombre | Description |
|---|---|
| ComponentDesigner() |
Inicializa una nueva instancia de la clase ComponentDesigner. |
Propiedades
| Nombre | Description |
|---|---|
| ActionLists |
Obtiene las listas de acciones en tiempo de diseño compatibles con el componente asociado al diseñador. |
| AssociatedComponents |
Obtiene la colección de componentes asociados al componente administrado por el diseñador. |
| Component |
Obtiene el componente que este diseñador está diseñando. |
| InheritanceAttribute |
Obtiene un atributo que indica el tipo de herencia del componente asociado. |
| Inherited |
Obtiene un valor que indica si se hereda este componente. |
| ParentComponent |
Obtiene el componente primario de este diseñador. |
| SetTextualDefaultProperty |
Extiende el comportamiento del modo de diseño de un componente. |
| ShadowProperties |
Obtiene una colección de valores de propiedad que invalidan la configuración del usuario. |
| Verbs |
Obtiene los verbos en tiempo de diseño admitidos por el componente asociado al diseñador. |
Métodos
| Nombre | Description |
|---|---|
| Dispose() |
Libera todos los recursos usados por .ComponentDesigner |
| Dispose(Boolean) |
Libera los recursos no administrados utilizados por ComponentDesigner y, opcionalmente, libera los recursos administrados. |
| DoDefaultAction() |
Crea una firma de método en el archivo de código fuente para el evento predeterminado en el componente y navega el cursor del usuario a esa ubicación. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Finalize() |
Intenta liberar recursos llamando |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetService(Type) |
Intenta recuperar el tipo de servicio especificado del sitio del modo de diseño del componente del diseñador. |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| Initialize(IComponent) |
Prepara el diseñador para ver, editar y diseñar el componente especificado. |
| InitializeExistingComponent(IDictionary) |
Reinicializa un componente existente. |
| InitializeNewComponent(IDictionary) |
Inicializa un componente recién creado. |
| InitializeNonDefault() |
Obsoletos.
Obsoletos.
Inicializa la configuración de un componente importado que ya se ha inicializado en la configuración distinta de los valores predeterminados. |
| InvokeGetInheritanceAttribute(ComponentDesigner) |
Obtiene del InheritanceAttribute objeto especificado ComponentDesigner. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| OnSetComponentDefaults() |
Obsoletos.
Obsoletos.
Establece las propiedades predeterminadas del componente. |
| PostFilterAttributes(IDictionary) |
Permite que un diseñador cambie o quite elementos del conjunto de atributos que expone a través de .TypeDescriptor |
| PostFilterEvents(IDictionary) |
Permite que un diseñador cambie o quite elementos del conjunto de eventos que expone a través de .TypeDescriptor |
| PostFilterProperties(IDictionary) |
Permite que un diseñador cambie o quite elementos del conjunto de propiedades que expone a través de .TypeDescriptor |
| PreFilterAttributes(IDictionary) |
Permite que un diseñador agregue al conjunto de atributos que expone a través de .TypeDescriptor |
| PreFilterEvents(IDictionary) |
Permite que un diseñador agregue al conjunto de eventos que expone a través de .TypeDescriptor |
| PreFilterProperties(IDictionary) |
Permite que un diseñador agregue al conjunto de propiedades que expone a través de .TypeDescriptor |
| RaiseComponentChanged(MemberDescriptor, Object, Object) |
Notifica a IComponentChangeService que se ha cambiado este componente. |
| RaiseComponentChanging(MemberDescriptor) |
Notifica que IComponentChangeService este componente está a punto de cambiarse. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IDesignerFilter.PostFilterAttributes(IDictionary) |
Para obtener una descripción de este miembro, consulte el PostFilterAttributes(IDictionary) método . |
| IDesignerFilter.PostFilterEvents(IDictionary) |
Para obtener una descripción de este miembro, consulte el PostFilterEvents(IDictionary) método . |
| IDesignerFilter.PostFilterProperties(IDictionary) |
Para obtener una descripción de este miembro, consulte el PostFilterProperties(IDictionary) método . |
| IDesignerFilter.PreFilterAttributes(IDictionary) |
Para obtener una descripción de este miembro, consulte el PreFilterAttributes(IDictionary) método . |
| IDesignerFilter.PreFilterEvents(IDictionary) |
Para obtener una descripción de este miembro, consulte el PreFilterEvents(IDictionary) método . |
| IDesignerFilter.PreFilterProperties(IDictionary) |
Para obtener una descripción de este miembro, consulte el PreFilterProperties(IDictionary) método . |
| ITreeDesigner.Children |
Para obtener una descripción de este miembro, vea la Children propiedad . |
| ITreeDesigner.Parent |
Para obtener una descripción de este miembro, vea la Parent propiedad . |