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


ControlDesigner クラスおよびすべての派生クラスでは、AutoFormats プロパティは DesignerAutoFormatCollection オブジェクトとして定義されます。コントロール開発者は、派生コントロール デザイナ内の AutoFormats プロパティをオーバーライドし、カスタムのオートフォーマット スタイルを追加し、サポートされる書式のコレクションをビジュアルなデザイナに返すことができます。
コレクションは、オブジェクトが追加されるごとに動的に大きくなります。このコレクションのインデックスは 0 から始まります。コレクション内の自動スタイル書式の数を調べるには、Count プロパティを使用します。
さらに、DesignerAutoFormatCollection のメソッドおよびプロパティを使用して、次の機能を提供します。

カスタム コントロール デザイナで AutoFormats プロパティを実装する方法を次のコード例に示します。派生コントロール デザイナは、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.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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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


DesignerAutoFormatCollection コンストラクタを使用して、空のコレクションを作成します。Add メソッドまたは Insert メソッドを使用して、コレクションに項目を追加できます。


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DesignerAutoFormatCollection プロパティ

名前 | 説明 | |
---|---|---|
![]() | Count | コレクション内の DesignerAutoFormat オブジェクト数を取得します。 |
![]() | Item | コレクション内の指定したインデックス位置にある DesignerAutoFormat オブジェクトを取得または設定します。 |
![]() | PreviewSize | 実行時に表示されるコントロールの最大外部寸法を取得します。 |
![]() | SyncRoot | DesignerAutoFormatCollection オブジェクトへのアクセスを同期するために使用できるオブジェクトを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.Count | DesignerAutoFormatCollection オブジェクトが ICollection インターフェイスにキャストされた場合に、コレクションに格納されている要素数を返します。 |
![]() | System.Collections.ICollection.IsSynchronized | DesignerAutoFormatCollection オブジェクトが ICollection インターフェイスにキャストされた場合に、コレクションへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を返します。 |
![]() | System.Collections.IList.IsFixedSize | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクションのサイズが固定であるかどうかを示す値を返します。 |
![]() | System.Collections.IList.IsReadOnly | このメソッドの説明については、「IsReadOnly」を参照してください。 |
![]() | System.Collections.IList.Item | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、指定したインデックス位置の要素を取得します。 |

DesignerAutoFormatCollection メソッド

名前 | 説明 | |
---|---|---|
![]() | Add | 指定した DesignerAutoFormat オブジェクトをコレクションの末尾に追加します。 |
![]() | Clear | コレクションからすべての書式を削除します。 |
![]() | Contains | 指定した書式がコレクション内に存在するかどうかを確認します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IndexOf | コレクション内の指定した DesignerAutoFormat オブジェクトのインデックスを返します。 |
![]() | Insert | コレクション内の指定したインデックス位置に、DesignerAutoFormat オブジェクトを挿入します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Remove | 指定した DesignerAutoFormat オブジェクトをコレクションから削除します。 |
![]() | RemoveAt | コレクション内の指定したインデックスにある DesignerAutoFormat オブジェクトを削除します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

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

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.CopyTo | DesignerAutoFormatCollection オブジェクトが ICollection インターフェイスにキャストされた場合に、コレクションの要素を Array オブジェクトにコピーします。コピーは、Array の特定のインデックスから開始されます。 |
![]() | System.Collections.IEnumerable.GetEnumerator | DesignerAutoFormatCollection オブジェクトが IEnumerable インターフェイスにキャストされた場合にコレクションを反復処理する IEnumerator インターフェイスを返します。 |
![]() | System.Collections.IList.Add | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクションに項目を追加します。 |
![]() | System.Collections.IList.Contains | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクションに特定の値が格納されているかどうかを確認します。 |
![]() | System.Collections.IList.IndexOf | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクション内の特定の項目のインデックスを確認します。 |
![]() | System.Collections.IList.Insert | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクション内の指定したインデックス位置に項目を挿入します。 |
![]() | System.Collections.IList.Remove | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクション内内で最初に見つかった特定のオブジェクトを削除します。 |
![]() | System.Collections.IList.RemoveAt | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、指定したインデックス位置の項目を削除します。 |

DesignerAutoFormatCollection メンバ
コントロール デザイナ内の DesignerAutoFormat オブジェクトのコレクションを表します。このクラスは継承できません。
DesignerAutoFormatCollection データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Count | コレクション内の DesignerAutoFormat オブジェクト数を取得します。 |
![]() | Item | コレクション内の指定したインデックス位置にある DesignerAutoFormat オブジェクトを取得または設定します。 |
![]() | PreviewSize | 実行時に表示されるコントロールの最大外部寸法を取得します。 |
![]() | SyncRoot | DesignerAutoFormatCollection オブジェクトへのアクセスを同期するために使用できるオブジェクトを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Add | 指定した DesignerAutoFormat オブジェクトをコレクションの末尾に追加します。 |
![]() | Clear | コレクションからすべての書式を削除します。 |
![]() | Contains | 指定した書式がコレクション内に存在するかどうかを確認します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IndexOf | コレクション内の指定した DesignerAutoFormat オブジェクトのインデックスを返します。 |
![]() | Insert | コレクション内の指定したインデックス位置に、DesignerAutoFormat オブジェクトを挿入します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Remove | 指定した DesignerAutoFormat オブジェクトをコレクションから削除します。 |
![]() | RemoveAt | コレクション内の指定したインデックスにある DesignerAutoFormat オブジェクトを削除します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

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

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.CopyTo | DesignerAutoFormatCollection オブジェクトが ICollection インターフェイスにキャストされた場合に、コレクションの要素を Array オブジェクトにコピーします。コピーは、Array の特定のインデックスから開始されます。 |
![]() | System.Collections.IEnumerable.GetEnumerator | DesignerAutoFormatCollection オブジェクトが IEnumerable インターフェイスにキャストされた場合にコレクションを反復処理する IEnumerator インターフェイスを返します。 |
![]() | System.Collections.IList.Add | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクションに項目を追加します。 |
![]() | System.Collections.IList.Contains | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクションに特定の値が格納されているかどうかを確認します。 |
![]() | System.Collections.IList.IndexOf | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクション内の特定の項目のインデックスを確認します。 |
![]() | System.Collections.IList.Insert | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクション内の指定したインデックス位置に項目を挿入します。 |
![]() | System.Collections.IList.Remove | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクション内内で最初に見つかった特定のオブジェクトを削除します。 |
![]() | System.Collections.IList.RemoveAt | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、指定したインデックス位置の項目を削除します。 |
![]() | System.Collections.ICollection.Count | DesignerAutoFormatCollection オブジェクトが ICollection インターフェイスにキャストされた場合に、コレクションに格納されている要素数を返します。 |
![]() | System.Collections.ICollection.IsSynchronized | DesignerAutoFormatCollection オブジェクトが ICollection インターフェイスにキャストされた場合に、コレクションへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を返します。 |
![]() | System.Collections.IList.IsFixedSize | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、コレクションのサイズが固定であるかどうかを示す値を返します。 |
![]() | System.Collections.IList.IsReadOnly | このメソッドの説明については、「IsReadOnly」を参照してください。 |
![]() | System.Collections.IList.Item | DesignerAutoFormatCollection オブジェクトが IList インターフェイスにキャストされた場合に、指定したインデックス位置の要素を取得します。 |

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

- DesignerAutoFormatCollectionのページへのリンク