ComponentDesigner クラス
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コンポーネントのデザイン モードの動作を拡張します。
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
- 継承
-
ComponentDesigner
- 派生
- 実装
次のコード例では、実装例 ComponentDesigner と、デザイナーに関連付けられているコンポーネントの例を示します。 デザイナーは、基本Initialize
メソッドを呼び出すメソッドのInitializeオーバーライド、コンポーネントがダブルクリックされたときに をMessageBox表示するメソッドのDoDefaultActionオーバーライド、およびコンポーネントのショートカット メニューにカスタム DesignerVerb メニュー コマンドを提供するプロパティ アクセサーのVerbsオーバーライドを実装します。
#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
基本デザイナー クラスは ComponentDesigner 、関連付けられたコンポーネントの動作をデザイン モードで拡張できる単純なデザイナーを提供します。
ComponentDesigner は空 IDesignerFilter のインターフェイス実装を提供します。そのメソッドは、デザイン時に関連付けられたコンポーネントの属性、プロパティ、およびイベントを調整するためにオーバーライドできます。
デザイナーを 型に関連付けるには、 DesignerAttributeを使用します。 デザイン時の動作のカスタマイズの概要については、「 Design-Time サポートの拡張」を参照してください。
クラスは ComponentDesigner 、継承されたコンポーネントのプロパティ記述子に対して特別な動作を実装します。 という名前 InheritedPropertyDescriptor
の内部型は、基底クラスから継承されるプロパティの代わりに、既定 ComponentDesigner の実装で使用されます。 これらのプロパティ記述子が追加されるケースは 2 つあります。
基底クラスから継承しているため、 プロパティによって IDesignerHost.RootComponent 返されるルート オブジェクト自体。
ルート オブジェクトの基底クラスで見つかったフィールド。 基本クラスのパブリック フィールドと保護されたフィールドは、ユーザーが操作できるようにデザイナーに追加されます。
クラスは InheritedPropertyDescriptor
、プロパティの既定値を変更して、既定値がオブジェクトのインスタンス化時の現在の値になるようにします。 これは、 プロパティが別のインスタンスから継承されるためです。 デザイナーは、継承されたクラスによって設定された値にプロパティ値を設定するようにプロパティ値をリセットすることを定義します。 この値は、メタデータに格納されている既定値とは異なる場合があります。
Component |
ComponentDesigner クラスの新しいインスタンスを初期化します。 |
Action |
デザイナーに関連付けられているコンポーネントでサポートされているデザイン時アクション リストを取得します。 |
Associated |
デザイナーで管理されているコンポーネントに関連付けられているコンポーネントのコレクションを取得します。 |
Component |
デザイナーがデザインするコンポーネントを取得します。 |
Inheritance |
関連付けられているコンポーネントの継承の種類を示す属性を取得します。 |
Inherited |
コンポーネントが継承されているかどうかを示す値を取得します。 |
Parent |
このデザイナーの親コンポーネントを取得します。 |
Set |
コンポーネントのデザイン モードの動作を拡張します。 |
Shadow |
ユーザー設定値をオーバーライドするプロパティ値のコレクションを取得します。 |
Verbs |
デサイナに関連付けられているコンポーネントがサポートしているデザイン時の動詞を取得します。 |
Dispose() |
ComponentDesigner によって使用されているすべてのリソースを解放します。 |
Dispose(Boolean) |
ComponentDesigner によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 |
Do |
コンポーネントの既定イベントに対するメソッド シグネチャをソース コード ファイル内に作成し、コード内のその位置にカーソルを移動します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Finalize() |
ガベージ コレクションでオブジェクトがクリアされる前に、 |
Get |
既定のハッシュ関数として機能します。 (継承元 Object) |
Get |
デザイナーのコンポーネントのデザイン モード サイトから、指定した型のサービスの取得を試みます。 |
Get |
現在のインスタンスの Type を取得します。 (継承元 Object) |
Initialize(IComponent) |
指定したコンポーネントをデザイナーで表示、編集、デザインできるように準備します。 |
Initialize |
既存のコンポーネントを再初期化します。 |
Initialize |
新たに作成されたコンポーネントを初期化します。 |
Initialize |
古い.
古い.
既定値以外の値に既に初期化されている、インポートされたコンポーネントの設定値を初期化します。 |
Invoke |
指定した InheritanceAttribute の ComponentDesigner を取得します。 |
Memberwise |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
On |
古い.
古い.
コンポーネントの既定のプロパティを設定します。 |
Post |
デザイナーが、TypeDescriptor を通じて公開する一連の属性から、項目を変更または削除できるようにします。 |
Post |
デザイナーが、TypeDescriptor を通じて公開する一連のイベントから、項目を変更または削除できるようにします。 |
Post |
デザイナーが、TypeDescriptor を通じて公開する一連のプロパティから、項目を変更または削除できるようにします。 |
Pre |
デザイナーが、TypeDescriptor を通じて公開する一連の属性に項目を追加できるようにします。 |
Pre |
デザイナーが、TypeDescriptor を通じて公開する一連のイベントに項目を追加できるようにします。 |
Pre |
デザイナーが、TypeDescriptor を通じて公開する一連のプロパティに項目を追加できるようにします。 |
Raise |
コンポーネントが変更されたことを IComponentChangeService に通知します。 |
Raise |
コンポーネントが変更されようとしていることを IComponentChangeService に通知します。 |
To |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
IDesigner |
このメンバーの説明については、PostFilterAttributes(IDictionary) メソッドのトピックを参照してください。 |
IDesigner |
このメンバーの説明については、PostFilterEvents(IDictionary) メソッドのトピックを参照してください。 |
IDesigner |
このメンバーの説明については、PostFilterProperties(IDictionary) メソッドのトピックを参照してください。 |
IDesigner |
このメンバーの説明については、PreFilterAttributes(IDictionary) メソッドのトピックを参照してください。 |
IDesigner |
このメンバーの説明については、PreFilterEvents(IDictionary) メソッドのトピックを参照してください。 |
IDesigner |
このメンバーの説明については、PreFilterProperties(IDictionary) メソッドのトピックを参照してください。 |
ITree |
このメンバーの説明については、Children プロパティを参照してください。 |
ITree |
このメンバーの説明については、Parent プロパティを参照してください。 |
製品 | バージョン |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。