IDesignerHost インターフェイスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > IDesignerHost インターフェイスの意味・解説 

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



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

辞書ショートカット

すべての辞書の索引

「IDesignerHost インターフェイス」の関連用語

IDesignerHost インターフェイスのお隣キーワード
検索ランキング

   

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



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

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

©2024 GRAS Group, Inc.RSS