ComponentDesigner Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utökar designlägesbeteendet för en komponent.
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
- Arv
-
ComponentDesigner
- Härledda
- Implementeringar
Exempel
Följande kodexempel innehåller ett exempel ComponentDesigner på implementering och en exempelkomponent som är associerad med designern. Designern implementerar en åsidosättning av Initialize metoden som anropar basmetoden Initialize , en åsidosättning av metoden DoDefaultAction som visar en MessageBox när komponenten dubbelklickas och en åsidosättning av Verbs egenskapsåtkomsten som tillhandahåller ett anpassat DesignerVerb menykommando till snabbmenyn för komponenten.
#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
Kommentarer
Basdesignerklassen ComponentDesigner ger en enkel designer som kan utöka beteendet för en associerad komponent i designläge.
ComponentDesigner tillhandahåller en tom IDesignerFilter gränssnittsimplementering vars metoder kan åsidosättas för att justera attribut, egenskaper och händelser för den associerade komponenten vid designtillfället.
Du kan associera en designer med en typ med hjälp av en DesignerAttribute. En översikt över hur du anpassar designtidsbeteende finns i Utöka Design-Time Support.
Klassen ComponentDesigner implementerar ett särskilt beteende för egenskapsbeskrivningar för ärvda komponenter. En intern typ med namnet InheritedPropertyDescriptor används av standardimplementeringen ComponentDesigner för att användas för egenskaper som ärvs från en basklass. Det finns två fall där dessa egenskapsbeskrivningar läggs till.
Till själva rotobjektet, som returneras av IDesignerHost.RootComponent egenskapen, eftersom du ärver från dess basklass.
Till fält som finns i basklassen för rotobjektet. Offentliga och skyddade fält från basklassen läggs till i designern så att de kan manipuleras av användaren.
Klassen InheritedPropertyDescriptor ändrar standardvärdet för en egenskap, så att standardvärdet är det aktuella värdet vid instansiering av objekt. Det beror på att egenskapen ärvs från en annan instans. Designern definierar återställning av egenskapsvärdet som inställning till det värde som har angetts av den ärvda klassen. Det här värdet kan skilja sig från standardvärdet som lagras i metadata.
Konstruktorer
| Name | Description |
|---|---|
| ComponentDesigner() |
Initierar en ny instans av ComponentDesigner klassen. |
Egenskaper
| Name | Description |
|---|---|
| ActionLists |
Hämtar de åtgärdslistor för designtid som stöds av komponenten som är associerad med designern. |
| AssociatedComponents |
Hämtar den samling komponenter som är associerade med komponenten som hanteras av designern. |
| Component |
Hämtar komponenten som designern designar. |
| InheritanceAttribute |
Hämtar ett attribut som anger typen av arv för den associerade komponenten. |
| Inherited |
Hämtar ett värde som anger om den här komponenten ärvs. |
| ParentComponent |
Hämtar den överordnade komponenten för den här designern. |
| ShadowProperties |
Hämtar en samling egenskapsvärden som åsidosätter användarinställningar. |
| Verbs |
Hämtar designtidsverb som stöds av komponenten som är associerad med designern. |
Metoder
| Name | Description |
|---|---|
| Dispose() |
Släpper alla resurser som används av ComponentDesigner. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av ComponentDesigner och släpper eventuellt de hanterade resurserna. |
| DoDefaultAction() |
Skapar en metodsignatur i källkodsfilen för standardhändelsen på komponenten och navigerar användarens markören till den platsen. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Finalize() |
Försöker frigöra resurser genom att anropa |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetService(Type) |
Försöker hämta den angivna typen av tjänst från designlägesplatsen för designerns komponent. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| Initialize(IComponent) |
Förbereder designern för att visa, redigera och utforma den angivna komponenten. |
| InitializeExistingComponent(IDictionary) |
Initierar om en befintlig komponent. |
| InitializeNewComponent(IDictionary) |
Initierar en nyskapade komponent. |
| InitializeNonDefault() |
Föråldrad.
Initierar inställningarna för en importerad komponent som redan har initierats till andra inställningar än standardinställningarna. |
| InvokeGetInheritanceAttribute(ComponentDesigner) |
Hämtar den InheritanceAttribute angivna ComponentDesigner. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnSetComponentDefaults() |
Föråldrad.
Anger standardegenskaperna för komponenten. |
| PostFilterAttributes(IDictionary) |
Gör att en designer kan ändra eller ta bort objekt från den uppsättning attribut som den exponerar via en TypeDescriptor. |
| PostFilterEvents(IDictionary) |
Gör att en designer kan ändra eller ta bort objekt från den uppsättning händelser som den exponerar via en TypeDescriptor. |
| PostFilterProperties(IDictionary) |
Gör att en designer kan ändra eller ta bort objekt från den uppsättning egenskaper som den exponerar via en TypeDescriptor. |
| PreFilterAttributes(IDictionary) |
Gör att en designer kan lägga till i den uppsättning attribut som den exponerar via en TypeDescriptor. |
| PreFilterEvents(IDictionary) |
Tillåter att en designer lägger till i den uppsättning händelser som den exponerar via en TypeDescriptor. |
| PreFilterProperties(IDictionary) |
Gör att en designer kan lägga till i den uppsättning egenskaper som den exponerar via en TypeDescriptor. |
| RaiseComponentChanged(MemberDescriptor, Object, Object) |
Meddelar IComponentChangeService att den här komponenten har ändrats. |
| RaiseComponentChanging(MemberDescriptor) |
IComponentChangeService Meddelar att den här komponenten håller på att ändras. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDesignerFilter.PostFilterAttributes(IDictionary) |
En beskrivning av den här medlemmen finns i PostFilterAttributes(IDictionary) metoden . |
| IDesignerFilter.PostFilterEvents(IDictionary) |
En beskrivning av den här medlemmen finns i PostFilterEvents(IDictionary) metoden . |
| IDesignerFilter.PostFilterProperties(IDictionary) |
En beskrivning av den här medlemmen finns i PostFilterProperties(IDictionary) metoden . |
| IDesignerFilter.PreFilterAttributes(IDictionary) |
En beskrivning av den här medlemmen finns i PreFilterAttributes(IDictionary) metoden . |
| IDesignerFilter.PreFilterEvents(IDictionary) |
En beskrivning av den här medlemmen finns i PreFilterEvents(IDictionary) metoden . |
| IDesignerFilter.PreFilterProperties(IDictionary) |
En beskrivning av den här medlemmen finns i PreFilterProperties(IDictionary) metoden . |
| ITreeDesigner.Children |
En beskrivning av den här medlemmen finns i egenskapen Children . |
| ITreeDesigner.Parent |
En beskrivning av den här medlemmen finns i egenskapen Parent . |