ViewTechnology 列挙体
アセンブリ: System (system.dll 内)

<ComVisibleAttribute(True)> _ Public Enumeration ViewTechnology

メンバ名 | 説明 | |
---|---|---|
Default | 既定のビュー技術サポートを指定します。 ルート デザイナは任意の型のオブジェクトを返すことができますが、オブジェクトにはホストの技術のアダプタとの互換性がある必要があります。Visual Studio などのホスト環境には、新しいビュー技術アダプタを組み込むための手段も用意されています。Windows フォーム デザイナの既定のビュー オブジェクトは System.Windows.Forms.Control インスタンスです。 | |
Passthrough | ビュー オブジェクトを開発環境に直接渡すモードを表します。 ビュー オブジェクトは、開発環境が要求するすべてのインターフェイスを実装する必要があります。Visual Studio 開発環境は、ActiveX コントロール、アクティブ ドキュメント、または Visual Studio VSI (Visual Studio Integration) プログラムを通じて利用できる IVsWindowPane インターフェイスを実装したオブジェクトのいずれかのビュー オブジェクトをサポートしています。Visual Studio 開発環境では、このビュー技術をサポートしています。このビュー技術は、すべての開発環境でサポートされているわけではありません。 | |
WindowsForms | Windows フォーム コントロール オブジェクトがルート デザイナにおける表示を提供するモードを表します。 |

ビュー アダプタ モデルは ViewTechnology 機能の後継であり、新しい機能を追加しますが、選択により、下位互換性および将来の使用のために ViewTechnology を保持することもできます。詳細については、Windows フォームのサポート技術情報 (http://windowsforms.net/articles/shapedesigner.aspx) で「.NET Shape Library: A Sample Designer」を参照してください。
ViewTechnology は、デザイナがホストするドキュメントの表示を制御するモードを示す識別子を定義します。
デザイナ ホスト環境では、Default だけを使用します。以前のバージョンの .NET Framework では、ViewTechnology 列挙体がルート デザイナでサポートされている UI モデルの種類を指定を指定していました。このモデルには拡張性がないため、代わりに view adapter モデルを使用する必要があります。ビュー アダプタは、オブジェクトの型を別の型に合わせて調整する型です。
たとえば、HTML デザイナはそのビューとして DemoDOM ツリーを返します。HTML デザイナは Default のビュー技術を返します。Windows フォーム ホスト環境では、1 つ以上のビュー アダプタ クラスを使用できます。そのようなクラスが DemoDOM を Windows フォーム コントロールに変換できた場合は、ホスト アプリケーションがこの種類のデザイナをサポートできます。デザイナの GetView メソッドから返されたデータ型を処理できるアダプタがない場合は、デザイナの読み込みが失敗し、ユーザーにエラーが表示されます。
Visual Studio は、ビュー アダプタを提供するための拡張可能なスキームを備えているため、UI 技術に合わせて調整できます。サードパーティ テクノロジ プロバイダからビュー アダプタが提供される可能性もあります。それらのオブジェクト モデルはすぐに使用できます。
ビュー アダプタを使用する例については、Windows フォームのサポート技術情報 (http://windowsforms.net/articles/shapedesigner.aspx) で「.NET Shape Library: A Sample Designer」を参照してください。

デザイナで ViewTechnology クラスを使用する方法のコード例を次に示します。このコード例は IRootDesigner インターフェイスのトピックで取り上げているコード例の一部分です。
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からViewTechnology 列挙体を検索する場合は、下記のリンクをクリックしてください。

- ViewTechnology 列挙体のページへのリンク