ComponentDesigner Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Estende il comportamento della modalità progettazione di 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
- Ereditarietà
-
ComponentDesigner
- Derivato
- Implementazioni
Esempio
Nell'esempio di codice seguente viene fornita un'implementazione di esempio ComponentDesigner e un componente di esempio associato alla finestra di progettazione. La finestra di progettazione implementa un override del Initialize metodo che chiama il metodo di base Initialize
, un override del DoDefaultAction metodo che visualizza un MessageBox quando il componente viene fatto doppio clic e un override della Verbs funzione di accesso della proprietà che fornisce un comando di menu personalizzato DesignerVerb al menu di scelta rapida per il 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
Commenti
La ComponentDesigner classe di progettazione di base fornisce una semplice finestra di progettazione che può estendere il comportamento di un componente associato in modalità di progettazione.
ComponentDesigner fornisce un'implementazione di interfaccia vuota IDesignerFilter , i cui metodi possono essere sottoposti a override per modificare gli attributi, le proprietà e gli eventi del componente associato in fase di progettazione.
È possibile associare una finestra di progettazione a un tipo usando un DesignerAttributeoggetto . Per una panoramica della personalizzazione del comportamento in fase di progettazione, vedere Estensione del supporto Design-Time.
La ComponentDesigner classe implementa un comportamento speciale per i descrittori delle proprietà dei componenti ereditati. Un tipo interno denominato InheritedPropertyDescriptor
viene usato dall'implementazione predefinita ComponentDesigner per rimanere in piedi per le proprietà ereditate da una classe di base. Esistono due casi in cui vengono aggiunti questi descrittori di proprietà.
Nell'oggetto IDesignerHost.RootComponent radice stesso, restituito dalla proprietà, perché si eredita dalla classe di base.
Per i campi trovati nella classe di base dell'oggetto radice. I campi pubblici e protetti dalla classe di base vengono aggiunti alla finestra di progettazione in modo che possano essere modificati dall'utente.
La InheritedPropertyDescriptor
classe modifica il valore predefinito di una proprietà, in modo che il valore predefinito sia il valore corrente all'istanza dell'oggetto. Ciò avviee perché la proprietà viene ereditata da un'altra istanza. La finestra di progettazione definisce la reimpostazione del valore della proprietà come impostazione del valore impostato dalla classe ereditata. Questo valore può essere diverso dal valore predefinito archiviato nei metadati.
Costruttori
ComponentDesigner() |
Inizializza una nuova istanza della classe ComponentDesigner. |
Proprietà
ActionLists |
Ottiene gli elenchi di azioni in fase di progettazione supportati dal componente associato alla finestra di progettazione. |
AssociatedComponents |
Ottiene l'insieme dei componenti associati al componente gestito dalla finestra di progettazione. |
Component |
Ottiene il componente progettato dalla finestra di progettazione. |
InheritanceAttribute |
Ottiene un attributo che indica il tipo di ereditarietà del componente associato. |
Inherited |
Ottiene un valore che indica se questo componente è ereditato. |
ParentComponent |
Ottiene il componente padre per la finestra di progettazione. |
SetTextualDefaultProperty |
Estende il comportamento della modalità progettazione di un componente. |
ShadowProperties |
Ottiene un insieme di valori di proprietà che eseguono l'override delle impostazioni utente. |
Verbs |
Ottiene i verbi in fase di progettazione supportati dal componente associato alla finestra di progettazione. |
Metodi
Dispose() |
Rilascia tutte le risorse usate da ComponentDesigner. |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da ComponentDesigner e, facoltativamente, le risorse gestite. |
DoDefaultAction() |
Crea una firma di metodo nel file di codice sorgente per l'evento predefinito sul componente e sposta il cursore dell'utente in tale posizione. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Esegue un tentativo di liberare risorse chiamando |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetService(Type) |
Esegue un tentativo di recuperare il tipo di servizio specificato dal sito della modalità progettazione del componente della finestra di progettazione. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
Initialize(IComponent) |
Prepara la finestra di progettazione per la visualizzazione, la modifica e la progettazione del componente specificato. |
InitializeExistingComponent(IDictionary) |
Reinizializza un componente esistente. |
InitializeNewComponent(IDictionary) |
Inizializza un nuovo componente creato. |
InitializeNonDefault() |
Obsoleti.
Obsoleti.
Inizializza le impostazioni relative a un componente importato già inizializzato per impostazioni diverse da quelle predefinite. |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Ottiene l'oggetto InheritanceAttribute dell'oggetto ComponentDesigner specificato. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnSetComponentDefaults() |
Obsoleti.
Obsoleti.
Imposta le proprietà predefinite relative al componente. |
PostFilterAttributes(IDictionary) |
Consente a una finestra di progettazione di modificare o rimuovere elementi dall'insieme di attributi esposti tramite un oggetto TypeDescriptor. |
PostFilterEvents(IDictionary) |
Consente a una finestra di progettazione di modificare o rimuovere elementi dal gruppo di eventi esposti tramite un oggetto TypeDescriptor. |
PostFilterProperties(IDictionary) |
Consente a una finestra di progettazione di modificare o rimuovere elementi dall'insieme di proprietà esposte tramite un oggetto TypeDescriptor. |
PreFilterAttributes(IDictionary) |
Consente a una finestra di progettazione di aggiungere un insieme di attributi che vengono esposti tramite un oggetto TypeDescriptor. |
PreFilterEvents(IDictionary) |
Consente a una finestra di progettazione di aggiungere un insieme di eventi che vengono esposti tramite un oggetto TypeDescriptor. |
PreFilterProperties(IDictionary) |
Consente a una finestra di progettazione di aggiungere un insieme di proprietà che vengono esposte tramite un oggetto TypeDescriptor. |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Notifica all'oggetto IComponentChangeService che questo componente è stato modificato. |
RaiseComponentChanging(MemberDescriptor) |
Notifica all'oggetto IComponentChangeService che questo componente sta per essere modificato. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IDesignerFilter.PostFilterAttributes(IDictionary) |
Per una descrizione di questo membro, vedere il metodo PostFilterAttributes(IDictionary). |
IDesignerFilter.PostFilterEvents(IDictionary) |
Per una descrizione di questo membro, vedere il metodo PostFilterEvents(IDictionary). |
IDesignerFilter.PostFilterProperties(IDictionary) |
Per una descrizione di questo membro, vedere il metodo PostFilterProperties(IDictionary). |
IDesignerFilter.PreFilterAttributes(IDictionary) |
Per una descrizione di questo membro, vedere il metodo PreFilterAttributes(IDictionary). |
IDesignerFilter.PreFilterEvents(IDictionary) |
Per una descrizione di questo membro, vedere il metodo PreFilterEvents(IDictionary). |
IDesignerFilter.PreFilterProperties(IDictionary) |
Per una descrizione di questo membro, vedere il metodo PreFilterProperties(IDictionary). |
ITreeDesigner.Children |
Per una descrizione di questo membro, vedere la proprietà Children. |
ITreeDesigner.Parent |
Per una descrizione di questo membro, vedere la proprietà Parent. |