DesignerAutoFormat クラス
アセンブリ: System.Design (system.design.dll 内)


DesignerAutoFormat は基本デザイナ クラスを提供します。このクラスを継承または拡張することで、デザイン時に書式設定されたカスタム Web サーバー コントロールを表示できます。
コントロールの開発者は、オート フォーマットの機能を提供することで、コントロールを使用する開発者が適切な表示を選択するのを支援できます。カスタム DesignerAutoFormat オブジェクトは、カスタム コントロール デザイナと連携して、デザイン時にカスタム コントロールの書式が自動的に設定されるようにします。たとえば、Calendar コントロールには、デザイン時に開発者が適用できる各種の書式があります。
カスタム コントロールのオート フォーマットを実装するには
-
ControlDesigner クラスからデザイナ クラスを派生するか、または TextControlDesigner などのコントロールに適した別のデザイナ クラスからデザイナ クラスを派生します。
-
DesignerAutoFormat クラスから、Apply メソッドをオーバーライドすることでカスタム コントロールを書式設定する書式クラスを派生します。
-
デザイナ クラスで、AutoFormats プロパティ (DesignerAutoFormatCollection オブジェクト) に、デザイナで適用できる名前付き書式ごとに 1 つずつ、書式クラスのインスタンスを設定します。
DesignerAutoFormat クラスは、次のメンバを提供して、デザイン時のオート フォーマットをサポートします。
-
GetPreviewControl メソッドは、Visual Studio 2005 などのビジュアルなデザイナの [オートフォーマット] ダイアログ ボックスでプレビューするためのコントロールのコピーを提供します。

カスタム コントロール デザイナでオート フォーマットを実装する方法を次のコード例に示します。派生コントロール デザイナは、DesignerAutoFormat クラスから派生したカスタム自動書式の 3 つのインスタンスを追加することで、AutoFormats プロパティを実装します。
Imports System Imports System.Drawing Imports System.Collections Imports System.ComponentModel Imports System.Web.UI Imports System.Web.UI.Design Imports System.Web.UI.Design.WebControls Imports System.Web.UI.WebControls Namespace CustomControls.Design ' A custom Label control whose contents can be indented <Designer(GetType(IndentLabelDesigner)), _ ToolboxData("<{0}:IndentLabel Runat=""server""></{0}:IndentLabel>")> _ Public Class IndentLabel Inherits System.Web.UI.WebControls.Label Dim _indent As Integer = 0 <Category("Appearance"), DefaultValue(0), _ PersistenceMode(PersistenceMode.Attribute)> _ Property Indent() As Integer Get Return _indent End Get Set(ByVal Value As Integer) _indent = Value ' Get the number of pixels to indent Dim ind As Integer = _indent * 8 ' Add the indent style to the control If ind > 0 Then Me.Style.Add(HtmlTextWriterStyle.MarginLeft, ind.ToString() & "px") Else Me.Style.Remove(HtmlTextWriterStyle.MarginLeft) End If End Set End Property End Class ' A design-time ControlDesigner for the IndentLabel control Public Class IndentLabelDesigner Inherits LabelDesigner Private _autoFormats As DesignerAutoFormatCollection = Nothing ' The collection of AutoFormat objects for the IndentLabel object Public Overrides ReadOnly Property AutoFormats() As DesignerAutoFormatCollection Get If _autoFormats Is Nothing Then ' Create the collection _autoFormats = New DesignerAutoFormatCollection() ' Create and add each AutoFormat object _autoFormats.Add(New IndentLabelAutoFormat("MyClassic")) _autoFormats.Add(New IndentLabelAutoFormat("MyBright")) _autoFormats.Add(New IndentLabelAutoFormat("Default")) End If Return _autoFormats End Get End Property ' An AutoFormat object for the IndentLabel control Public Class IndentLabelAutoFormat Inherits DesignerAutoFormat Public Sub New(ByVal name As String) MyBase.New(name) End Sub ' Applies styles based on the Name of the AutoFormat Public Overrides Sub Apply(ByVal inLabel As Control) If TypeOf inLabel Is IndentLabel Then Dim ctl As IndentLabel = CType(inLabel, IndentLabel) ' Apply formatting according to the Name If Me.Name.Equals("MyClassic") Then ' For MyClassic, apply style elements directly to the control ctl.ForeColor = Color.Gray ctl.BackColor = Color.LightGray ctl.Font.Size = FontUnit.XSmall ctl.Font.Name = "Verdana,Geneva,Sans-Serif" ElseIf Me.Name.Equals("MyBright") Then ' For MyBright, apply style elements to the Style object Me.Style.ForeColor = Color.Maroon Me.Style.BackColor = Color.Yellow Me.Style.Font.Size = FontUnit.Medium ' Merge the AutoFormat style with the control's style ctl.MergeStyle(Me.Style) Else ' For the Default format, apply style elements to the control ctl.ForeColor = Color.Black ctl.BackColor = Color.Empty ctl.Font.Size = FontUnit.XSmall End If End If End Sub End Class End Class End Namespace
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Web.UI; using System.Web.UI.Design; using System.Web.UI.Design.WebControls; using System.Web.UI.WebControls; namespace CustomControls.Design.CS { // A custom Label control whose contents can be indented [Designer(typeof(IndentLabelDesigner)), ToolboxData("<{0}:IndentLabel Runat=\"server\"></{0}:IndentLabel>")] public class IndentLabel : Label { private int _indent = 0; // Property to indent all text within the label [Category("Appearance"), DefaultValue(0), PersistenceMode(PersistenceMode.Attribute)] public int Indent { get { return _indent; } set { _indent = value; // Get the number of pixels to indent int ind = value * 8; // Add the indent style to the control if (ind > 0) this.Style.Add(HtmlTextWriterStyle.MarginLeft, ind.ToString() + "px"); else this.Style.Remove(HtmlTextWriterStyle.MarginLeft); } } } // A design-time ControlDesigner for the IndentLabel control [SupportsPreviewControl(true)] public class IndentLabelDesigner : LabelDesigner { private DesignerAutoFormatCollection _autoFormats = null; // The collection of AutoFormat objects for the IndentLabel object public override DesignerAutoFormatCollection AutoFormats { get { if (_autoFormats == null) { // Create the collection _autoFormats = new DesignerAutoFormatCollection(); // Create and add each AutoFormat object _autoFormats.Add(new IndentLabelAutoFormat("MyClassic")); _autoFormats.Add(new IndentLabelAutoFormat("MyBright")); _autoFormats.Add(new IndentLabelAutoFormat("Default")); } return _autoFormats; } } // An AutoFormat object for the IndentLabel control private class IndentLabelAutoFormat : DesignerAutoFormat { public IndentLabelAutoFormat(string name) : base(name) { } // Applies styles based on the Name of the AutoFormat public override void Apply(Control inLabel) { if (inLabel is IndentLabel) { IndentLabel ctl = (IndentLabel)inLabel; // Apply formatting according to the Name if (this.Name == "MyClassic") { // For MyClassic, apply style elements directly to the control ctl.ForeColor = Color.Gray; ctl.BackColor = Color.LightGray; ctl.Font.Size = FontUnit.XSmall; ctl.Font.Name = "Verdana,Geneva,Sans-Serif"; } else if (this.Name == "MyBright") { // For MyBright, apply style elements to the Style property this.Style.ForeColor = Color.Maroon; this.Style.BackColor = Color.Yellow; this.Style.Font.Size = FontUnit.Medium; // Merge the AutoFormat style with the control's style ctl.MergeStyle(this.Style); } else { // For the Default format, apply style elements to the control ctl.ForeColor = Color.Black; ctl.BackColor = Color.Empty; ctl.Font.Size = FontUnit.XSmall; } } } } } }

System.Web.UI.Design.DesignerAutoFormat


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


DesignerAutoFormat コンストラクタ
アセンブリ: System.Design (system.design.dll 内)


DesignerAutoFormatコンストラクタを使用して、新しい書式を作成し、ControlDesigner オブジェクトの AutoFormats プロパティで表される DesignerAutoFormatCollection コレクションにその書式を追加します。


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


DesignerAutoFormat プロパティ

名前 | 説明 | |
---|---|---|
![]() | Name | DesignerAutoFormat オブジェクトの名前を取得します。 |
![]() | Style | 関連付けられたコントロールのデザイン時プレビューを表示するために DesignerAutoFormat オブジェクトが使用する DesignerAutoFormatStyle オブジェクトを取得します。 |

DesignerAutoFormat メソッド

名前 | 説明 | |
---|---|---|
![]() | Apply | 関連付けられている書式を指定したコントロールに適用します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetPreviewControl | 書式をコントロールに適用する前にプレビューできるように、関連付けられているコントロールのコピーを返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | オーバーライドされます。 現在の DesignerAutoFormat オブジェクトを表す文字列を返します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

DesignerAutoFormat メンバ
デザイン時にカスタム Web サーバー コントロールに適用できる書式を作成するための抽象基本クラスを提供します。
DesignerAutoFormat データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Name | DesignerAutoFormat オブジェクトの名前を取得します。 |
![]() | Style | 関連付けられたコントロールのデザイン時プレビューを表示するために DesignerAutoFormat オブジェクトが使用する DesignerAutoFormatStyle オブジェクトを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Apply | 関連付けられている書式を指定したコントロールに適用します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetPreviewControl | 書式をコントロールに適用する前にプレビューできるように、関連付けられているコントロールのコピーを返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | オーバーライドされます。 現在の DesignerAutoFormat オブジェクトを表す文字列を返します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

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

- DesignerAutoFormatのページへのリンク