ComponentDesignerとは? わかりやすく解説

ComponentDesigner クラス

コンポーネントのデザイン モードの動作を拡張します。

名前空間: System.ComponentModel.Design
アセンブリ: System.Design (system.design.dll 内)
構文構文

Public Class ComponentDesigner
    Implements ITreeDesigner, IDesigner, IDisposable, IDesignerFilter,
 _
    IComponentInitializer
Dim instance As ComponentDesigner
public class ComponentDesigner : ITreeDesigner,
 IDesigner, IDisposable, 
    IDesignerFilter, IComponentInitializer
public ref class ComponentDesigner : ITreeDesigner,
 IDesigner, IDisposable, 
    IDesignerFilter, IComponentInitializer
public class ComponentDesigner implements ITreeDesigner,
 IDesigner, 
    IDisposable, IDesignerFilter, IComponentInitializer
public class ComponentDesigner implements ITreeDesigner,
 IDesigner, 
    IDisposable, IDesignerFilter, IComponentInitializer
解説解説
使用例使用例

ComponentDesigner 実装の例とデザイナに関連付けられているコンポーネントの例を次のコード例に示します。このデザイナは、基本クラスの Initialize メソッドを呼び出す Initialize メソッドのオーバーライド、コンポーネントがダブルクリックされたときに MessageBox を表示する DoDefaultAction メソッドのオーバーライド、およびコンポーネントのショートカット メニューへのカスタム DesignerVerb メニュー コマンドを提供する Verbs プロパティ アクセサのオーバーライドを実装します。

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
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()
        {
        }
    }
}
#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(){}
};
package ExampleComponent;

import System.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.ComponentModel.Design.*;
import System.Drawing.*;
import System.Windows.Forms.*;

// Provides an example component designer.
public class ExampleComponentDesigner
    extends System.ComponentModel.Design.ComponentDesigner
{
    public ExampleComponentDesigner()
    {
    } //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 void Initialize(System.ComponentModel.IComponent
 component)
    {
        // Always call the base Initialize method in an override of
 this method.
        super.Initialize(component);
    } //Initialize

    // This method is invoked when the associated component is double-clicked.
    public void DoDefaultAction()
    {
        MessageBox.Show("The event handler for the default
 action was invoked.");
    } //DoDefaultAction

    // This method provides designer verbs.
    /** @property 
     */
    public System.ComponentModel.Design.DesignerVerbCollection
 get_Verbs()
    {
        return new DesignerVerbCollection(new
 DesignerVerb[]
            { new DesignerVerb("Example Designer Verb Command"
,
            new EventHandler(this.OnVerb))
 });
    } //get_Verbs

    // 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.");
    } //OnVerb
} //ExampleComponentDesigner

// Provides an example component associated with the example component
 designer.
/** @attribute DesignerAttribute(ExampleComponentDesigner.class,
 IDesigner.class)
 */
public class ExampleComponent extends System.ComponentModel.Component
{
    public ExampleComponent()
    {
    } //ExampleComponent
} //ExampleComponent
継承階層継承階層
System.Object
  System.ComponentModel.Design.ComponentDesigner
     派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ComponentDesigner メンバ
System.ComponentModel.Design 名前空間
IDesigner
IDesignerFilter
DesignerAttribute クラス
その他の技術情報
デザイン時サポートの拡張
方法 : デザイン時サービスにアクセスする

ComponentDesigner コンストラクタ


ComponentDesigner プロパティ


パブリック プロパティパブリック プロパティ

プロテクト プロパティプロテクト プロパティ
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.Design.ITreeDesigner.Children このメンバの説明については、ITreeDesigner.Children プロパティのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.ITreeDesigner.Parent このメンバの説明については、ITreeDesigner.Parent プロパティのトピックを参照してください。
参照参照

関連項目

ComponentDesigner クラス
System.ComponentModel.Design 名前空間
IDesigner
IDesignerFilter
DesignerAttribute クラス

その他の技術情報

デザイン時サポートの拡張
方法 : デザイン時サービスにアクセスする

ComponentDesigner メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Dispose オーバーロードされます。 ComponentDesigner によって使用されているリソースを解放します。
パブリック メソッド DoDefaultAction コンポーネントの既定イベントに対するメソッド シグネチャをソース コード ファイル内に作成し、コード内のその位置にカーソルを移動します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド Initialize 指定したコンポーネントをデザイナで表示、編集、デザインできるように準備します。
パブリック メソッド InitializeExistingComponent 既存のコンポーネントを再初期化します。
パブリック メソッド InitializeNewComponent 新規作成したコンポーネントを初期化します。
パブリック メソッド InitializeNonDefault 既定値以外の値に既に初期化されている、インポートされたコンポーネントの設定値を初期化します。
パブリック メソッド OnSetComponentDefaults コンポーネントの既定のプロパティを設定します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Dispose オーバーロードされます。 ComponentDesigner によって使用されているリソースを解放します。
プロテクト メソッド Finalize オーバーライドされます。 ガベージ コレクションでオブジェクトがクリアされる前に、Dispose(false) を呼び出して、リソースの解放を試みます。
プロテクト メソッド GetService デザイナのコンポーネントのデザイン モード サイトから、指定した型のサービスの取得を試みます。
プロテクト メソッド InvokeGetInheritanceAttribute 指定した ComponentDesigner の InheritanceAttribute を取得します。
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド PostFilterAttributes デザイナが、TypeDescriptor を通じて公開する一連の属性から、項目を変更または削除できるようにします。
プロテクト メソッド PostFilterEvents デザイナが、TypeDescriptor を通じて公開する一連のイベントから、項目を変更または削除できるようにします。
プロテクト メソッド PostFilterProperties デザイナが、TypeDescriptor を通じて公開する一連のプロパティから、項目を変更または削除できるようにします。
プロテクト メソッド PreFilterAttributes デザイナが、TypeDescriptor を通じて公開する一連の属性に項目を追加できるようにします。
プロテクト メソッド PreFilterEvents デザイナが、TypeDescriptor を通じて公開する一連のイベントに項目を追加できるようにします。
プロテクト メソッド PreFilterProperties デザイナが、TypeDescriptor を通じて公開する一連のプロパティに項目を追加できるようにします。
プロテクト メソッド RaiseComponentChanged コンポーネントが変更されたことを IComponentChangeService に通知します。
プロテクト メソッド RaiseComponentChanging コンポーネントが変更されようとしていることを IComponentChangeService に通知します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PostFilterAttributes このメンバの説明については、IDesignerFilter.PostFilterAttributes メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PostFilterEvents このメンバの説明については、IDesignerFilter.PostFilterEvents メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PostFilterProperties このメンバの説明については、IDesignerFilter.PostFilterProperties メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PreFilterAttributes このメンバの説明については、IDesignerFilter.PreFilterAttributes メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PreFilterEvents このメンバの説明については、IDesignerFilter.PreFilterEvents メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PreFilterProperties このメンバの説明については、IDesignerFilter.PreFilterProperties メソッドのトピックを参照してください。
参照参照

関連項目

ComponentDesigner クラス
System.ComponentModel.Design 名前空間
IDesigner
IDesignerFilter
DesignerAttribute クラス

その他の技術情報

デザイン時サポートの拡張
方法 : デザイン時サービスにアクセスする

ComponentDesigner メンバ

コンポーネントのデザイン モードの動作を拡張します。

ComponentDesigner データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ComponentDesigner ComponentDesigner クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Dispose オーバーロードされます。 ComponentDesigner によって使用されているリソースを解放します。
パブリック メソッド DoDefaultAction コンポーネントの既定イベントに対するメソッド シグネチャをソース コード ファイル内に作成し、コード内のその位置にカーソルを移動します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド Initialize 指定したコンポーネントをデザイナで表示、編集、デザインできるように準備します。
パブリック メソッド InitializeExistingComponent 既存のコンポーネントを再初期化します。
パブリック メソッド InitializeNewComponent 新規作成したコンポーネントを初期化します。
パブリック メソッド InitializeNonDefault 既定値以外の値に既に初期化されている、インポートされたコンポーネントの設定値を初期化します。
パブリック メソッド OnSetComponentDefaults コンポーネントの既定のプロパティを設定します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド Dispose オーバーロードされます。 ComponentDesigner によって使用されているリソースを解放します。
プロテクト メソッド Finalize オーバーライドされます。 ガベージ コレクションでオブジェクトがクリアされる前に、Dispose(false) を呼び出して、リソースの解放を試みます。
プロテクト メソッド GetService デザイナのコンポーネントのデザイン モード サイトから、指定した型のサービスの取得を試みます。
プロテクト メソッド InvokeGetInheritanceAttribute 指定した ComponentDesigner の InheritanceAttribute を取得します。
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド PostFilterAttributes デザイナが、TypeDescriptor を通じて公開する一連の属性から、項目を変更または削除できるようにします。
プロテクト メソッド PostFilterEvents デザイナが、TypeDescriptor を通じて公開する一連のイベントから、項目を変更または削除できるようにします。
プロテクト メソッド PostFilterProperties デザイナが、TypeDescriptor を通じて公開する一連のプロパティから、項目を変更または削除できるようにします。
プロテクト メソッド PreFilterAttributes デザイナが、TypeDescriptor を通じて公開する一連の属性に項目を追加できるようにします。
プロテクト メソッド PreFilterEvents デザイナが、TypeDescriptor を通じて公開する一連のイベントに項目を追加できるようにします。
プロテクト メソッド PreFilterProperties デザイナが、TypeDescriptor を通じて公開する一連のプロパティに項目を追加できるようにします。
プロテクト メソッド RaiseComponentChanged コンポーネントが変更されたことを IComponentChangeService に通知します。
プロテクト メソッド RaiseComponentChanging コンポーネントが変更されようとしていることを IComponentChangeService に通知します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PostFilterAttributes このメンバの説明については、IDesignerFilter.PostFilterAttributes メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PostFilterEvents このメンバの説明については、IDesignerFilter.PostFilterEvents メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PostFilterProperties このメンバの説明については、IDesignerFilter.PostFilterProperties メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PreFilterAttributes このメンバの説明については、IDesignerFilter.PreFilterAttributes メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PreFilterEvents このメンバの説明については、IDesignerFilter.PreFilterEvents メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.IDesignerFilter.PreFilterProperties このメンバの説明については、IDesignerFilter.PreFilterProperties メソッドのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.ITreeDesigner.Children このメンバの説明については、ITreeDesigner.Children プロパティのトピックを参照してください。
インターフェイスの明示的な実装 System.ComponentModel.Design.ITreeDesigner.Parent このメンバの説明については、ITreeDesigner.Parent プロパティのトピックを参照してください。
参照参照

関連項目

ComponentDesigner クラス
System.ComponentModel.Design 名前空間
IDesigner
IDesignerFilter
DesignerAttribute クラス

その他の技術情報

デザイン時サポートの拡張
方法 : デザイン時サービスにアクセスする



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ComponentDesigner」の関連用語

ComponentDesignerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ComponentDesignerのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS