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

IDesignerHost イベント


パブリック イベントパブリック イベント

  名前 説明
パブリック イベント Activated デザイナアクティブになるときに発生します
パブリック イベント Deactivated デザイナアクティブでなくなるときに発生します
パブリック イベント LoadComplete デザイナドキュメント読み込み完了したときに発生します
パブリック イベント TransactionClosed TransactionClosed イベントイベント ハンドラ追加します
パブリック イベント TransactionClosing TransactionClosing イベントイベント ハンドラ追加します
パブリック イベント TransactionOpened TransactionOpened イベントイベント ハンドラ追加します
パブリック イベント TransactionOpening TransactionOpening イベントイベント ハンドラ追加します
参照参照

関連項目

IDesignerHost インターフェイス
System.ComponentModel.Design 名前空間
IDesigner インターフェイス
IDesignerEventService インターフェイス
IDesignerOptionService

IDesignerHost インターフェイス

デザイナトランザクションおよびコンポーネント管理するためのインターフェイス提供します

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

<ComVisibleAttribute(True)> _
Public Interface IDesignerHost
    Inherits IServiceContainer, IServiceProvider
Dim instance As IDesignerHost
[ComVisibleAttribute(true)] 
public interface IDesignerHost : IServiceContainer, IServiceProvider
[ComVisibleAttribute(true)] 
public interface class IDesignerHost : IServiceContainer,
 IServiceProvider
/** @attribute ComVisibleAttribute(true) */ 
public interface IDesignerHost extends IServiceContainer, IServiceProvider
ComVisibleAttribute(true) 
public interface IDesignerHost extends IServiceContainer,
 IServiceProvider
解説解説

IDesignerHost は、.NET Frameworkフォーム デザイナ アーキテクチャ連動しデザイナトランザクションおよびコンポーネント管理できるようにするインターフェイスです。

.NET Framework は、このインターフェイス実装提供しません。このインターフェイスは、デザイナサポートしている開発ツールによって実装されます

呼び出し時の注意 開発環境から IDesignerHost実装取得するには、コンポーネントデザイン モードアクティブな間に GetService を呼び出します。これを行うには、IDesignerHost の型を渡してIDesignerHost サービス インターフェイス要求しますIDesignerHost は、デザイナの状態に関連する次のメンバ提供します

IDesignerHost は、コンポーネント管理関連する次のメンバ提供します IDesignerHost は、トランザクション管理関連する次のメンバ提供します
使用例使用例

デザイナまたは配置されコンポーネントから、IDesignerHost サービス インターフェイス取得する方法については、次のコード例参照してください

' Requests an IDesignerHost service from the design time environment
 using Component.Site.GetService()
Dim host As IDesignerHost = CType(Me.Component.Site.GetService(GetType(IDesignerHost)),
 IDesignerHost)
// Requests an IDesignerHost service from the design time environment
 using Component.Site.GetService()
IDesignerHost dh = (IDesignerHost) this.Component.Site.GetService(typeof(IDesignerHost));            
// Requests an IDesignerHost service from the design time environment
 using Component.Site.GetService()
IDesignerHost^ dh = static_cast<IDesignerHost^>(this->Component->Site->GetService(
 IDesignerHost::typeid ));
// Requests an IDesignerHost service from the design time 
// environment using Component.Site.GetService()
IDesignerHost dh = (IDesignerHost)this.get_Component().get_Site().
    GetService(IDesignerHost.class.ToType());

IDesignerHost インターフェイス使用してプロジェクトコンポーネントの一覧を表示する方法については、次のコード例参照してください

Imports System
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Windows.Forms

Namespace IDesignerHostExample
   
   ' IDesignerHostExampleComponent is a component associated 
   ' with the IDesignerHostExampleDesigner that demonstrates 
   ' acquisition and use of the IDesignerHost service 
   ' to list project components.
    <DesignerAttribute(GetType(IDesignerHostExampleDesigner))>
 _
    Public Class IDesignerHostExampleComponent
        Inherits System.ComponentModel.Component

        Public Sub New()
        End Sub 'New

        Protected Overloads Sub
 Dispose(ByVal disposing As Boolean)
            MyBase.Dispose(disposing)
        End Sub 
    End Class 

    ' You can double-click the component of a IDesignerHostExampleDesigner
    ' to show a form containing a listbox that lists the name and type
 
    ' of each component or control in the current design-time project.
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand,
 Name:="FullTrust")> _
    Public Class IDesignerHostExampleDesigner
        Implements IDesigner
        Private component_ As System.ComponentModel.IComponent

        Public Sub New()
        End Sub 'New

        Public Sub DoDefaultAction() Implements
 IDesigner.DoDefaultAction
            ListComponents()
        End Sub

        Public Sub Initialize(ByVal
 component As System.ComponentModel.IComponent) Implements
 IDesigner.Initialize
            Me.component_ = component
            MessageBox.Show("Double-click the IDesignerHostExample
 component to view a list of project components.")
        End Sub

        ' Displays a list of components in the current design 
        ' document when the default action of the designer is invoked.
        Private Sub ListComponents()
            Dim listform As New
 DesignerHostListForm()
            ' Obtain an IDesignerHost service from the design environment.
            Dim host As IDesignerHost = CType(Me.component.Site.GetService(GetType(IDesignerHost)),
 IDesignerHost)
            ' Get the project components container (control containment
 depends on Controls collections)
            Dim container As IContainer = host.Container
            ' Add each component's type name and name to the list box.
            Dim comp As Component
            For Each comp In
 container.Components
                listform.listBox1.Items.Add((comp.GetType().Name + "
 : " + component.Site.Name))
            Next comp
            ' Display the form.
            listform.ShowDialog()
        End Sub

        Public ReadOnly Property
 Component() As System.ComponentModel.IComponent Implements
 IDesigner.Component
            Get
                Return component_
            End Get
        End Property

        Public ReadOnly Property
 Verbs() As System.ComponentModel.Design.DesignerVerbCollection
 Implements IDesigner.Verbs
            Get
                Dim dvc As New
 DesignerVerbCollection()
                dvc.Add(New DesignerVerb("List
 Components", New EventHandler(AddressOf
 ListHandler)))
                Return dvc
            End Get
        End Property

        Private Sub ListHandler(ByVal
 sender As Object, ByVal
 e As EventArgs)
            ListComponents()
        End Sub

        Public Sub Dispose() Implements
 IDisposable.Dispose
        End Sub
    End Class
    _ 

    ' Provides a form containing a list box that can display 
    ' a list of project components.
    Public Class DesignerHostListForm
        Inherits System.Windows.Forms.Form
        Public listBox1 As System.Windows.Forms.ListBox
        Private ok_button As System.Windows.Forms.Button

        Public Sub New()
            Me.Name = "DesignerHostListForm"
            Me.Text = "List of design-time
 project components"
            Me.SuspendLayout()
            Me.listBox1 = New System.Windows.Forms.ListBox()
            Me.listBox1.Location = New System.Drawing.Point(8,
 8)
            Me.listBox1.Name = "listBox1"
            Me.listBox1.Size = New System.Drawing.Size(385,
 238)
            Me.listBox1.TabIndex = 0
            Me.listBox1.Anchor = (((System.Windows.Forms.AnchorStyles.Top
 Or System.Windows.Forms.AnchorStyles.Bottom) _
            Or System.Windows.Forms.AnchorStyles.Left) Or
 System.Windows.Forms.AnchorStyles.Right)
            Me.ok_button = New System.Windows.Forms.Button()
            Me.ok_button.DialogResult = System.Windows.Forms.DialogResult.OK
            Me.ok_button.Location = New System.Drawing.Point(232,
 256)
            Me.ok_button.Name = "ok_button"
            Me.ok_button.TabIndex = 1
            Me.ok_button.Text = "OK"
            Me.ok_button.Anchor = (System.Windows.Forms.AnchorStyles.Bottom
 Or System.Windows.Forms.AnchorStyles.Right)
            Me.ClientSize = New System.Drawing.Size(400,
 285)
            Me.Controls.AddRange(New System.Windows.Forms.Control()
 {Me.ok_button, Me.listBox1})
            Me.ResumeLayout(False)
        End Sub 

        Protected Overloads Sub
 Dispose(ByVal disposing As Boolean)
            MyBase.Dispose(disposing)
        End Sub 
    End Class 
End Namespace 
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Windows.Forms;

namespace IDesignerHostExample
{    
    // IDesignerHostExampleComponent is a component associated 
    // with the IDesignerHostExampleDesigner that demonstrates 
    // acquisition and use of the IDesignerHost service 
    // to list project components.
    [DesignerAttribute(typeof(IDesignerHostExampleDesigner))]
    public class IDesignerHostExampleComponent
 : System.ComponentModel.Component
    {
        public IDesignerHostExampleComponent()
        {}

        protected override void Dispose( bool
 disposing )
        {
            base.Dispose( disposing );
        }
    }

    // You can double-click the component of an IDesignerHostExampleDesigner
 
    // to show a form containing a listbox that lists the name and type
 
    // of each component or control in the current design-time project.
    [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand,
 Name = "FullTrust")] 
    public class IDesignerHostExampleDesigner
 : IDesigner
    {
        private System.ComponentModel.IComponent component;

        public IDesignerHostExampleDesigner()
        {}

        public void DoDefaultAction()
        {
            ListComponents();
        }

        public void Initialize(System.ComponentModel.IComponent
 component)
        {
            this.component = component;
            MessageBox.Show("Double-click the IDesignerHostExample component
 to view a list of project components.");
        }

        // Displays a list of components in the current design 
        // document when the default action of the designer is invoked.
        private void ListComponents()
        {            
            DesignerHostListForm listform = new DesignerHostListForm();
            // Obtain an IDesignerHost service from the design environment.
            IDesignerHost host = (IDesignerHost)this.component.Site.GetService(typeof(IDesignerHost));
            // Get the project components container (control containment
 depends on Controls collections)
            IContainer container = host.Container;
            // Add each component's type name and name to the list box.
            foreach(IComponent component in
 container.Components)
            {
                listform.listBox1.Items.Add(component.GetType().Name + " : "
 + component.Site.Name);
            }
            // Display the form.
            listform.ShowDialog();
        }

        public System.ComponentModel.IComponent Component
        {
            get
            {
                return this.component;
            }
        }

        public System.ComponentModel.Design.DesignerVerbCollection
 Verbs
        {
            get
            {
                DesignerVerbCollection dvc = new DesignerVerbCollection();
                dvc.Add( new DesignerVerb("List Components",
 new EventHandler(ListHandler)) );
                return dvc;
            }
        }

        private void ListHandler(object sender,
 EventArgs e)
        {
            ListComponents();
        }

        public void Dispose() {    }
    }

    // Provides a form containing a listbox that can display 
    // a list of project components.
    public class DesignerHostListForm : System.Windows.Forms.Form
    {
        public System.Windows.Forms.ListBox listBox1;
        private System.Windows.Forms.Button ok_button;
        
        public DesignerHostListForm()
        {
            this.Name = "DesignerHostListForm";
            this.Text = "List of design-time project components";
            this.SuspendLayout();
            this.listBox1 = new System.Windows.Forms.ListBox();
                        
            this.listBox1.Location = new System.Drawing.Point(8,
 8);
            this.listBox1.Name = "listBox1";
            this.listBox1.Size = new System.Drawing.Size(385,
 238);
            this.listBox1.TabIndex = 0;    
            this.listBox1.Anchor = (((System.Windows.Forms.AnchorStyles.Top
 | System.Windows.Forms.AnchorStyles.Bottom) 
                | System.Windows.Forms.AnchorStyles.Left) 
                | System.Windows.Forms.AnchorStyles.Right);        
            this.ok_button = new System.Windows.Forms.Button();
            this.ok_button.DialogResult = System.Windows.Forms.DialogResult.OK;
            this.ok_button.Location = new System.Drawing.Point(232,
 256);
            this.ok_button.Name = "ok_button";
            this.ok_button.TabIndex = 1;
            this.ok_button.Text = "OK";
            this.ok_button.Anchor = (System.Windows.Forms.AnchorStyles.Bottom
 | System.Windows.Forms.AnchorStyles.Right);
            this.ClientSize = new System.Drawing.Size(400,
 285);
            this.Controls.AddRange(new System.Windows.Forms.Control[]
 { this.ok_button, this.listBox1 });
            this.ResumeLayout(false);    
        }

        protected override void Dispose( bool
 disposing )
        {            
            base.Dispose( disposing );
        }    
    }
}
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#using <System.dll>

using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::Windows::Forms;
using namespace System::Security::Permissions;

// Provides a form containing a listbox that can display 
// a list of project components.
public ref class DesignerHostListForm: public
 System::Windows::Forms::Form
{
public:
   System::Windows::Forms::ListBox^ listBox1;

private:
   System::Windows::Forms::Button^ ok_button;

public:
   DesignerHostListForm()
   {
      this->Name = "DesignerHostListForm";
      this->Text = "List of design-time project components";
      this->SuspendLayout();
      this->listBox1 = gcnew System::Windows::Forms::ListBox;
      this->listBox1->Location = System::Drawing::Point(
 8, 8 );
      this->listBox1->Name = "listBox1";
      this->listBox1->Size = System::Drawing::Size( 385,
 238 );
      this->listBox1->TabIndex = 0;
      this->listBox1->Anchor = static_cast<AnchorStyles>(((System::Windows::Forms::AnchorStyles::Top
 | System::Windows::Forms::AnchorStyles::Bottom) | System::Windows::Forms::AnchorStyles::Left)
 | System::Windows::Forms::AnchorStyles::Right);
      this->ok_button = gcnew System::Windows::Forms::Button;
      this->ok_button->DialogResult = System::Windows::Forms::DialogResult::OK;
      this->ok_button->Location = System::Drawing::Point(
 232, 256 );
      this->ok_button->Name = "ok_button";
      this->ok_button->TabIndex = 1;
      this->ok_button->Text = "OK";
      this->ok_button->Anchor = static_cast<AnchorStyles>(System::Windows::Forms::AnchorStyles::Bottom
 | System::Windows::Forms::AnchorStyles::Right);
      this->ClientSize = System::Drawing::Size( 400, 285 );
      array<System::Windows::Forms::Control^>^temp2 = {this->ok_button
,this->listBox1};
      this->Controls->AddRange( temp2 );
      this->ResumeLayout( false );
   }

public:
   ~DesignerHostListForm()
   {
   }
};


// You can double-click the component of an IDesignerHostExampleDesigner
 
// to show a form containing a listbox that lists the name and type
 
// of each component or control in the current design-time project.
public ref class IDesignerHostExampleDesigner:
 public IDesigner
{
private:
   System::ComponentModel::IComponent^ component;

public:
   IDesignerHostExampleDesigner(){}

   virtual void DoDefaultAction()
   {
      ListComponents();
   }

   virtual void Initialize( System::ComponentModel::IComponent^
 component )
   {
      this->component = component;
      MessageBox::Show( "Double-click the IDesignerHostExample component to
 view a list of project components." );
   }


private:

   // Displays a list of components in the current design 
   // document when the default action of the designer is invoked.
   void ListComponents()
   {
      DesignerHostListForm^ listform = gcnew DesignerHostListForm;

      // Obtain an IDesignerHost service from the design environment.
      IDesignerHost^ host = dynamic_cast<IDesignerHost^>(this->component->Site->GetService(
 IDesignerHost::typeid ));

      // Get the project components container (control containment depends
 on Controls collections)
      IContainer^ container = host->Container;

      // Add each component's type name and name to the list box.
      System::Collections::IEnumerator^ myEnum = container->Components->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         IComponent^ component = safe_cast<IComponent^>(myEnum->Current);
         listform->listBox1->Items->Add( String::Concat( component->GetType()->Name,
 " : ", component->Site->Name ) );
      }

      listform->ShowDialog();
   }

public:

   property System::ComponentModel::IComponent^ Component 
   {
      virtual System::ComponentModel::IComponent^ get()
      {
         return this->component;
      }
   }

   property System::ComponentModel::Design::DesignerVerbCollection^ Verbs 
   {
      [PermissionSetAttribute(SecurityAction::Demand, Name="FullTrust")]
      virtual System::ComponentModel::Design::DesignerVerbCollection^ get()
      {
         DesignerVerbCollection^ dvc = gcnew DesignerVerbCollection;
         dvc->Add( gcnew DesignerVerb( "List Components",gcnew EventHandler(
 this, &IDesignerHostExampleDesigner::ListHandler ) ) );
         return dvc;
      }
   }

private:
   void ListHandler( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      ListComponents();
   }

public:
   ~IDesignerHostExampleDesigner(){}
};


// IDesignerHostExampleComponent is a component associated 
// with the IDesignerHostExampleDesigner that demonstrates 
// acquisition and use of the IDesignerHost service 
// to list project components.

[DesignerAttribute(IDesignerHostExampleDesigner::typeid)]
public ref class IDesignerHostExampleComponent:
 public System::ComponentModel::Component
{
public:
   IDesignerHostExampleComponent(){}

public:
   ~IDesignerHostExampleComponent(){}
};
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IDesignerHost メンバ
System.ComponentModel.Design 名前空間
IDesigner インターフェイス
IDesignerEventService インターフェイス
IDesignerOptionService

IDesignerHost プロパティ


IDesignerHost メソッド


IDesignerHost メンバ

デザイナトランザクションおよびコンポーネント管理するためのインターフェイス提供します

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


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
パブリック イベントパブリック イベント
  名前 説明
パブリック イベント Activated デザイナアクティブになるときに発生します
パブリック イベント Deactivated デザイナアクティブでなくなるときに発生します
パブリック イベント LoadComplete デザイナドキュメント読み込み完了したときに発生します
パブリック イベント TransactionClosed TransactionClosed イベントイベント ハンドラ追加します
パブリック イベント TransactionClosing TransactionClosing イベントイベント ハンドラ追加します
パブリック イベント TransactionOpened TransactionOpened イベントイベント ハンドラ追加します
パブリック イベント TransactionOpening TransactionOpening イベントイベント ハンドラ追加します
参照参照

関連項目

IDesignerHost インターフェイス
System.ComponentModel.Design 名前空間
IDesigner インターフェイス
IDesignerEventService インターフェイス
IDesignerOptionService



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IDesignerHost」の関連用語

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

   

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



IDesignerHostのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS