ComponentDesigner ComponentDesigner ComponentDesigner ComponentDesigner Class

定義

コンポーネントのデザイン モードの動作を拡張します。Extends the design mode behavior of a component.

public ref class ComponentDesigner : IDisposable, System::ComponentModel::Design::IComponentInitializer, System::ComponentModel::Design::IDesignerFilter, System::ComponentModel::Design::ITreeDesigner
public class ComponentDesigner : IDisposable, System.ComponentModel.Design.IComponentInitializer, System.ComponentModel.Design.IDesignerFilter, System.ComponentModel.Design.ITreeDesigner
type ComponentDesigner = class
    interface ITreeDesigner
    interface IDesigner
    interface IDisposable
    interface IDesignerFilter
    interface IComponentInitializer
Public Class ComponentDesigner
Implements IComponentInitializer, IDesignerFilter, IDisposable, ITreeDesigner
継承
ComponentDesignerComponentDesignerComponentDesignerComponentDesigner
派生
実装

次のコード例は、例を示しますComponentDesigner実装と、デザイナーに関連付けられた例コンポーネント。The following code example provides an example ComponentDesigner implementation and an example component associated with the designer. デザイナーのオーバーライドを実装する、Initializeメソッドを呼び出す基本Initializeメソッドは、のオーバーライド、DoDefaultActionを表示するメソッド、MessageBoxコンポーネントをダブルクリックしたときとのオーバーライド、 Verbsカスタムを提供するプロパティのアクセサーDesignerVerbコンポーネントのショートカット メニューにメニュー コマンド。The designer implements an override of the Initialize method that calls the base Initialize method, an override of the DoDefaultAction method that displays a MessageBox when the component is double-clicked, and an override of the Verbs property accessor that supplies a custom DesignerVerb menu command to the shortcut menu for the component.

#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
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 'New

        ' 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 'Initialize

        ' 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 'DoDefaultAction

        ' 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 'onVerb
    End Class 'ExampleComponentDesigner

    ' 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 'New
    End Class 'ExampleComponent

End Namespace 'ExampleComponent

注釈

ComponentDesignerの基本デザイナー クラスには、デザイン モードでの関連付けられているコンポーネントの動作を拡張できる単純なデザイナーが用意されています。The ComponentDesigner base designer class provides a simple designer that can extend the behavior of an associated component in design mode.

ComponentDesigner 空の提供IDesignerFilterインターフェイスの実装、メソッドをオーバーライドすると、デザイン時に、属性、プロパティおよび関連付けられているコンポーネントのイベントを調整します。ComponentDesigner provides an empty IDesignerFilter interface implementation, whose methods can be overridden to adjust the attributes, properties and events of the associated component at design time.

使用して型をデザイナーを関連付けることができます、DesignerAttributeします。You can associate a designer with a type using a DesignerAttribute. デザイン時の動作のカスタマイズの概要については、次を参照してください。デザイン時サポートの拡張します。For an overview of customizing design-time behavior, see Extending Design-Time Support.

ComponentDesignerクラスは継承されたコンポーネントのプロパティ記述子の特別な動作を実装します。The ComponentDesigner class implements a special behavior for the property descriptors of inherited components. という名前の内部型InheritedPropertyDescriptor、既定で使用されますComponentDesigner基底クラスから継承されるプロパティの代わりに実装します。An internal type named InheritedPropertyDescriptor is used by the default ComponentDesigner implementation to stand in for properties that are inherited from a base class. これらのプロパティ記述子を追加する 2 つのケースがあります。There are two cases in which these property descriptors are added.

  1. 返されるルート オブジェクト自体に、IDesignerHost.RootComponentプロパティ、その基本クラスから継承しているためです。To the root object itself, which is returned by the IDesignerHost.RootComponent property, because you are inheriting from its base class.

  2. ルート オブジェクトの基本クラスで見つかるフィールド。To fields found in the base class of the root object. 基本クラスからパブリックおよびプロテクト フィールドは、ユーザーが操作できるように、デザイナーに追加されます。Public and protected fields from the base class are added to the designer so that they can be manipulated by the user.

InheritedPropertyDescriptor既定値は、現在の値オブジェクトのインスタンス化できるように、クラスが、プロパティの既定値を変更します。The InheritedPropertyDescriptor class modifies the default value of a property, so that the default value is the current value at object instantiation. これは、プロパティが別のインスタンスから継承されるためです。This is because the property is inherited from another instance. デザイナーでは、プロパティ値をリセットするように、継承されたクラスによって設定された値に設定するを定義します。The designer defines resetting the property value as setting it to the value that was set by the inherited class. この値は、メタデータに格納されている既定値に異なる場合があります。This value may differ from the default value stored in metadata.

コンストラクター

ComponentDesigner() ComponentDesigner() ComponentDesigner() ComponentDesigner()

ComponentDesigner クラスの新しいインスタンスを初期化します。Initializes a new instance of the ComponentDesigner class.

プロパティ

ActionLists ActionLists ActionLists ActionLists

デザイナーに関連付けられているコンポーネントでサポートされているデザイン時アクション リストを取得します。Gets the design-time action lists supported by the component associated with the designer.

AssociatedComponents AssociatedComponents AssociatedComponents AssociatedComponents

デザイナーで管理されているコンポーネントに関連付けられているコンポーネントのコレクションを取得します。Gets the collection of components associated with the component managed by the designer.

Component Component Component Component

デザイナーがデザインするコンポーネントを取得します。Gets the component this designer is designing.

InheritanceAttribute InheritanceAttribute InheritanceAttribute InheritanceAttribute

関連付けられているコンポーネントの継承の種類を示す属性を取得します。Gets an attribute that indicates the type of inheritance of the associated component.

Inherited Inherited Inherited Inherited

コンポーネントが継承されているかどうかを示す値を取得します。Gets a value indicating whether this component is inherited.

ParentComponent ParentComponent ParentComponent ParentComponent

このデザイナーの親コンポーネントを取得します。Gets the parent component for this designer.

ShadowProperties ShadowProperties ShadowProperties ShadowProperties

ユーザー設定値をオーバーライドするプロパティ値のコレクションを取得します。Gets a collection of property values that override user settings.

Verbs Verbs Verbs Verbs

デサイナに関連付けられているコンポーネントがサポートしているデザイン時の動詞を取得します。Gets the design-time verbs supported by the component that is associated with the designer.

メソッド

Dispose() Dispose() Dispose() Dispose()

ComponentDesigner によって使用されているすべてのリソースを解放します。Releases all resources used by the ComponentDesigner.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

ComponentDesigner によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the ComponentDesigner and optionally releases the managed resources.

DoDefaultAction() DoDefaultAction() DoDefaultAction() DoDefaultAction()

コンポーネントの既定イベントに対するメソッド シグネチャをソース コード ファイル内に作成し、コード内のその位置にカーソルを移動します。Creates a method signature in the source code file for the default event on the component and navigates the user's cursor to that location.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

ガベージ コレクションでオブジェクトがクリアされる前に、Dispose(false) を呼び出して、リソースの解放を試みます。Attempts to free resources by calling Dispose(false) before the object is reclaimed by garbage collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

デザイナーのコンポーネントのデザイン モード サイトから、指定した型のサービスの取得を試みます。Attempts to retrieve the specified type of service from the design mode site of the designer's component.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
Initialize(IComponent) Initialize(IComponent) Initialize(IComponent) Initialize(IComponent)

指定したコンポーネントをデザイナーで表示、編集、デザインできるように準備します。Prepares the designer to view, edit, and design the specified component.

InitializeExistingComponent(IDictionary) InitializeExistingComponent(IDictionary) InitializeExistingComponent(IDictionary) InitializeExistingComponent(IDictionary)

既存のコンポーネントを再初期化します。Reinitializes an existing component.

InitializeNewComponent(IDictionary) InitializeNewComponent(IDictionary) InitializeNewComponent(IDictionary) InitializeNewComponent(IDictionary)

新しく作成したコンポーネントを初期化します。Initializes a newly created component.

InitializeNonDefault() InitializeNonDefault() InitializeNonDefault() InitializeNonDefault()

既定値以外の値に既に初期化されている、インポートされたコンポーネントの設定値を初期化します。Initializes the settings for an imported component that is already initialized to settings other than the defaults.

InvokeGetInheritanceAttribute(ComponentDesigner) InvokeGetInheritanceAttribute(ComponentDesigner) InvokeGetInheritanceAttribute(ComponentDesigner) InvokeGetInheritanceAttribute(ComponentDesigner)

指定した InheritanceAttributeComponentDesigner を取得します。Gets the InheritanceAttribute of the specified ComponentDesigner.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnSetComponentDefaults() OnSetComponentDefaults() OnSetComponentDefaults() OnSetComponentDefaults()

コンポーネントの既定のプロパティを設定します。Sets the default properties for the component.

PostFilterAttributes(IDictionary) PostFilterAttributes(IDictionary) PostFilterAttributes(IDictionary) PostFilterAttributes(IDictionary)

デザイナーが、TypeDescriptor を通じて公開する一連の属性から、項目を変更または削除できるようにします。Allows a designer to change or remove items from the set of attributes that it exposes through a TypeDescriptor.

PostFilterEvents(IDictionary) PostFilterEvents(IDictionary) PostFilterEvents(IDictionary) PostFilterEvents(IDictionary)

デザイナーが、TypeDescriptor を通じて公開する一連のイベントから、項目を変更または削除できるようにします。Allows a designer to change or remove items from the set of events that it exposes through a TypeDescriptor.

PostFilterProperties(IDictionary) PostFilterProperties(IDictionary) PostFilterProperties(IDictionary) PostFilterProperties(IDictionary)

デザイナーが、TypeDescriptor を通じて公開する一連のプロパティから、項目を変更または削除できるようにします。Allows a designer to change or remove items from the set of properties that it exposes through a TypeDescriptor.

PreFilterAttributes(IDictionary) PreFilterAttributes(IDictionary) PreFilterAttributes(IDictionary) PreFilterAttributes(IDictionary)

デザイナーが、TypeDescriptor を通じて公開する一連の属性に項目を追加できるようにします。Allows a designer to add to the set of attributes that it exposes through a TypeDescriptor.

PreFilterEvents(IDictionary) PreFilterEvents(IDictionary) PreFilterEvents(IDictionary) PreFilterEvents(IDictionary)

デザイナーが、TypeDescriptor を通じて公開する一連のイベントに項目を追加できるようにします。Allows a designer to add to the set of events that it exposes through a TypeDescriptor.

PreFilterProperties(IDictionary) PreFilterProperties(IDictionary) PreFilterProperties(IDictionary) PreFilterProperties(IDictionary)

デザイナーが、TypeDescriptor を通じて公開する一連のプロパティに項目を追加できるようにします。Allows a designer to add to the set of properties that it exposes through a TypeDescriptor.

RaiseComponentChanged(MemberDescriptor, Object, Object) RaiseComponentChanged(MemberDescriptor, Object, Object) RaiseComponentChanged(MemberDescriptor, Object, Object) RaiseComponentChanged(MemberDescriptor, Object, Object)

コンポーネントが変更されたことを IComponentChangeService に通知します。Notifies the IComponentChangeService that this component has been changed.

RaiseComponentChanging(MemberDescriptor) RaiseComponentChanging(MemberDescriptor) RaiseComponentChanging(MemberDescriptor) RaiseComponentChanging(MemberDescriptor)

コンポーネントが変更されようとしていることを IComponentChangeService に通知します。Notifies the IComponentChangeService that this component is about to be changed.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IDesignerFilter.PostFilterAttributes(IDictionary) IDesignerFilter.PostFilterAttributes(IDictionary) IDesignerFilter.PostFilterAttributes(IDictionary) IDesignerFilter.PostFilterAttributes(IDictionary)

このメンバーの説明については、PostFilterAttributes(IDictionary) メソッドのトピックを参照してください。For a description of this member, see the PostFilterAttributes(IDictionary) method.

IDesignerFilter.PostFilterEvents(IDictionary) IDesignerFilter.PostFilterEvents(IDictionary) IDesignerFilter.PostFilterEvents(IDictionary) IDesignerFilter.PostFilterEvents(IDictionary)

このメンバーの説明については、PostFilterEvents(IDictionary) メソッドのトピックを参照してください。For a description of this member, see the PostFilterEvents(IDictionary) method.

IDesignerFilter.PostFilterProperties(IDictionary) IDesignerFilter.PostFilterProperties(IDictionary) IDesignerFilter.PostFilterProperties(IDictionary) IDesignerFilter.PostFilterProperties(IDictionary)

このメンバーの説明については、PostFilterProperties(IDictionary) メソッドのトピックを参照してください。For a description of this member, see the PostFilterProperties(IDictionary) method.

IDesignerFilter.PreFilterAttributes(IDictionary) IDesignerFilter.PreFilterAttributes(IDictionary) IDesignerFilter.PreFilterAttributes(IDictionary) IDesignerFilter.PreFilterAttributes(IDictionary)

このメンバーの説明については、PreFilterAttributes(IDictionary) メソッドのトピックを参照してください。For a description of this member, see the PreFilterAttributes(IDictionary) method.

IDesignerFilter.PreFilterEvents(IDictionary) IDesignerFilter.PreFilterEvents(IDictionary) IDesignerFilter.PreFilterEvents(IDictionary) IDesignerFilter.PreFilterEvents(IDictionary)

このメンバーの説明については、PreFilterEvents(IDictionary) メソッドのトピックを参照してください。For a description of this member, see the PreFilterEvents(IDictionary) method.

IDesignerFilter.PreFilterProperties(IDictionary) IDesignerFilter.PreFilterProperties(IDictionary) IDesignerFilter.PreFilterProperties(IDictionary) IDesignerFilter.PreFilterProperties(IDictionary)

このメンバーの説明については、PreFilterProperties(IDictionary) メソッドのトピックを参照してください。For a description of this member, see the PreFilterProperties(IDictionary) method.

ITreeDesigner.Children ITreeDesigner.Children ITreeDesigner.Children ITreeDesigner.Children

このメンバーの説明については、Children プロパティを参照してください。For a description of this member, see the Children property.

ITreeDesigner.Parent ITreeDesigner.Parent ITreeDesigner.Parent ITreeDesigner.Parent

このメンバーの説明については、Parent プロパティを参照してください。For a description of this member, see the Parent property.

適用対象

こちらもご覧ください