IRootDesigner インターフェイス
アセンブリ: System (system.dll 内)

<ComVisibleAttribute(True)> _ Public Interface IRootDesigner Inherits IDesigner, IDisposable
[ComVisibleAttribute(true)] public interface IRootDesigner : IDesigner, IDisposable
/** @attribute ComVisibleAttribute(true) */ public interface IRootDesigner extends IDesigner, IDisposable
ComVisibleAttribute(true) public interface IRootDesigner extends IDesigner, IDisposable

ルート デザイナは、現在のデザイン時ドキュメント オブジェクト階層の最上位 (ルート) のデザイナです。ルート デザイナは、IRootDesigner インターフェイスを実装する必要があります。通常ルート デザイナは、デザイナ ビュー モードで背景ビューを管理し、現在のデザイン時プロジェクトの基本コンテナ内にコントロールを表示します。

サンプル ユーザー コントロールに関連付けられた IRootDesigner 実装の例を次に示します。この IRootDesigner 実装は、GetView メソッドをオーバーライドして、デザイナ ビューで背景ビューのコントロールを表示します。この例を使用するには、ソース コードをプロジェクトに追加し、デザイナ ビューで RootViewSampleComponent を表示して、カスタム ルート デザイナ ビューを表示します。
Imports System Imports System.Collections Imports System.ComponentModel Imports System.ComponentModel.Design Imports System.Diagnostics Imports System.Drawing Imports System.Windows.Forms Imports System.Windows.Forms.Design Namespace SampleRootDesigner ' This sample demonstrates how to provide the root designer view, or ' design mode background view, by overriding IRootDesigner.GetView(). ' This sample component inherits from RootDesignedComponent which ' uses the SampleRootDesigner. Public Class RootViewSampleComponent Inherits RootDesignedComponent Public Sub New() End Sub End Class ' The following attribute associates the SampleRootDesigner designer ' with the SampleComponent component. <Designer(GetType(SampleRootDesigner), GetType(IRootDesigner))> _ Public Class RootDesignedComponent Inherits Component Public Sub New() End Sub End Class Public Class SampleRootDesigner Inherits ComponentDesigner Implements IRootDesigner ' Member field of custom type RootDesignerView, a control that ' will be shown in the Forms designer view. This member is ' cached to reduce processing needed to recreate the ' view control on each call to GetView(). Private m_view As RootDesignerView ' This method returns an instance of the view for this root ' designer. The "view" is the user interface that is presented ' in a document window for the user to manipulate. Function GetView(ByVal technology As ViewTechnology) As Object Implements IRootDesigner.GetView If Not technology = ViewTechnology.Default Then Throw New ArgumentException("Not a supported view technology", "technology") End If If m_view Is Nothing Then ' Some type of displayable Form or control is required for a root designer that overrides ' GetView(). In this example, a Control of type RootDesignerView is used. ' Any class that inherits from Control will work. m_view = New RootDesignerView(Me) End If Return m_view End Function ' IRootDesigner.SupportedTechnologies is a required override for an ' IRootDesigner. Default is the view technology used by this designer. ReadOnly Property SupportedTechnologies() As ViewTechnology() Implements IRootDesigner.SupportedTechnologies Get Return New ViewTechnology() {ViewTechnology.Default} End Get End Property ' RootDesignerView is a simple control that will be displayed ' in the designer window. Private Class RootDesignerView Inherits Control Private m_designer As SampleRootDesigner Public Sub New(ByVal designer As SampleRootDesigner) m_designer = designer BackColor = Color.Blue Font = New Font(Font.FontFamily.Name, 24.0F) End Sub Protected Overrides Sub OnPaint(ByVal pe As PaintEventArgs) MyBase.OnPaint(pe) ' Draws the name of the component in large letters. Dim rf As New RectangleF(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width, ClientRectangle.Height) pe.Graphics.DrawString(m_designer.Component.Site.Name, Font, Brushes.Yellow, rf) End Sub End Class End Class End Namespace
using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; namespace SampleRootDesigner { // This sample demonstrates how to provide the root designer view, or // design mode background view, by overriding IRootDesigner.GetView(). // This sample component inherits from RootDesignedComponent which // uses the SampleRootDesigner. public class RootViewSampleComponent : RootDesignedComponent { public RootViewSampleComponent() { } } // The following attribute associates the SampleRootDesigner designer // with the SampleComponent component. [Designer(typeof(SampleRootDesigner), typeof(IRootDesigner))] public class RootDesignedComponent : Component { public RootDesignedComponent() { } } public class SampleRootDesigner : ComponentDesigner, IRootDesigner { // Member field of custom type RootDesignerView, a control that // will be shown in the Forms designer view. This member is // cached to reduce processing needed to recreate the // view control on each call to GetView(). private RootDesignerView m_view; // This method returns an instance of the view for this root // designer. The "view" is the user interface that is presented // in a document window for the user to manipulate. object IRootDesigner.GetView(ViewTechnology technology) { if (technology != ViewTechnology.Default) { throw new ArgumentException("Not a supported view technology", "technology"); } if (m_view == null) { // Some type of displayable Form or control is required // for a root designer that overrides GetView(). In this // example, a Control of type RootDesignerView is used. // Any class that inherits from Control will work. m_view = new RootDesignerView(this); } return m_view; } // IRootDesigner.SupportedTechnologies is a required override for an // IRootDesigner. Default is the view technology used by this designer. ViewTechnology[] IRootDesigner.SupportedTechnologies { get { return new ViewTechnology[] {ViewTechnology.Default}; } } // RootDesignerView is a simple control that will be displayed // in the designer window. private class RootDesignerView : Control { private SampleRootDesigner m_designer; public RootDesignerView(SampleRootDesigner designer) { m_designer = designer; BackColor = Color.Blue; Font = new Font(Font.FontFamily.Name, 24.0f); } protected override void OnPaint(PaintEventArgs pe) { base.OnPaint(pe); // Draws the name of the component in large letters. pe.Graphics.DrawString(m_designer.Component.Site.Name, Font, Brushes.Yellow, ClientRectangle); } } } }
package SampleRootDesigner; import System.*; import System.Collections.*; import System.ComponentModel.*; import System.ComponentModel.Design.*; import System.Diagnostics.*; import System.Drawing.*; import System.Windows.Forms.*; import System.Windows.Forms.Design.*; // This sample demonstrates how to provide the root designer view, or // design mode background view, by overriding IRootDesigner.GetView(). // This sample component inherits from RootDesignedComponent which // uses the SampleRootDesigner. public class RootViewSampleComponent extends RootDesignedComponent { public RootViewSampleComponent() { } //RootViewSampleComponent } //RootViewSampleComponent // The following attribute associates the SampleRootDesigner designer // with the SampleComponent component. /** @ attribute Designer(SampleRootDesigner .class.ToType(), IRootDesigner .class.ToType()) */ public class RootDesignedComponent extends Component { public RootDesignedComponent() { } //RootDesignedComponent } //RootDesignedComponent public class SampleRootDesigner extends ComponentDesigner implements IRootDesigner { // Member field of custom type RootDesignerView, a control that // will be shown in the Forms designer view. This member is // cached to reduce processing needed to recreate the // view control on each call to GetView(). private RootDesignerView mView; // This method returns an instance of the view for this root // designer. The "view" is the user interface that is presented // in a document window for the user to manipulate. public Object GetView(ViewTechnology technology) { if (!(technology.Equals(ViewTechnology.WindowsForms))) { throw new ArgumentException( "Not a supported view technology", "technology"); } if (mView == null) { // Some type of displayable Form or control is required // for a root designer that overrides GetView(). In this // example, a Control of type RootDesignerView is used. // Any class that inherits from Control will work. mView = new RootDesignerView(this); } return mView; } //GetView // IRootDesigner.SupportedTechnologies is a required override for an // IRootDesigner. WindowsForms is the view technology used by this designer. /** @property */ public ViewTechnology[] get_SupportedTechnologies() { return new ViewTechnology[] { ViewTechnology.WindowsForms }; } //get_SupportedTechnologies // RootDesignerView is a simple control that will be displayed // in the designer window. private class RootDesignerView extends Control { private SampleRootDesigner mDesigner; public RootDesignerView(SampleRootDesigner designer) { mDesigner = designer; set_BackColor(Color.get_Blue()); set_Font(new Font(get_Font().get_FontFamily().get_Name(), 24)); } //RootDesignerView protected void OnPaint(PaintEventArgs pe) { super.OnPaint(pe); // Draws the name of the component in large letters. pe.get_Graphics().DrawString( mDesigner.get_Component().get_Site().get_Name(), get_Font(), Brushes.get_Yellow(), RectangleF.op_Implicit(get_ClientRectangle())); } //OnPaint } //RootDesignerView } //SampleRootDesigner

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IRootDesigner プロパティ
IRootDesigner メソッド
IRootDesigner メンバ
- IRootDesignerのページへのリンク