語言

ContainerControlDesigner 類別

定義

提供包含子控制項或可於設計時修改屬性的控制項設計功能。

public ref class ContainerControlDesigner : System::Web::UI::Design::ControlDesigner
public class ContainerControlDesigner : System.Web.UI.Design.ControlDesigner
type ContainerControlDesigner = class
    inherit ControlDesigner
Public Class ContainerControlDesigner
Inherits ControlDesigner
繼承
衍生

範例

以下程式碼範例示範如何從 ContainerControlDesigner 該類別推導出設計類別。 範例定義了一個由 CompositeControl 類別衍生的簡單控制項,接著定義了由類別衍生 ContainerControlDesigner 出的相關設計器。 衍生設計類別會 FrameCaption 覆寫 和 FrameStyle 屬性,以自訂設計表面控制項可編輯區域周圍的框架。

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;

namespace ControlDesignerSamples.CS
{

    // Define a simple composite control, derived from the 
    // System.Web.UI.WebControls.CompositeControl class.
    [
        Designer(typeof(SimpleContainerControlDesigner)) , 
        ParseChildren(false)
    ]
    public class SimpleContainerControl : CompositeControl
    {
    }


    // Define the designer for the simple composite control.
    // The designer derives from System.Web.UI.Design.ContainerControlDesigner.
    // The designer defines the style and caption for frame around the 
    // editable region in the design surface.
    public class SimpleContainerControlDesigner : ContainerControlDesigner
    {
        private Style _style = null;

        // Define the caption text for the frame in the design surface.
        public override string FrameCaption
        {
            get
            {
                return "= My simple container control =";
            }
        }

        // Define the style of the frame around the control in the design surface.
        public override Style FrameStyle
        {
            get
            {
                if (_style == null)
                {
                    _style = new Style();
                    _style.Font.Name = "Verdana";
                    _style.Font.Size = new FontUnit("XSmall");
                    _style.BackColor = Color.LavenderBlush;
                    _style.ForeColor = Color.DarkBlue;
                }

                return _style;
            }
        }
    }
}

Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Collections
Imports System.Drawing
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls

Namespace ControlDesignerSamples.VB


    ' Define a simple composite control, derived from the 
    ' System.Web.UI.WebControls.CompositeControl class.

    <Designer(GetType(SimpleContainerControlDesigner)), _
     ParseChildren(False)> _
    Public Class SimpleContainerControl
        Inherits CompositeControl

    End Class


    ' Define the designer for the simple composite control.
    ' The designer derives from System.Web.UI.Design.ContainerControlDesigner.
    ' The designer defines the style and caption for the frame around the 
    ' editable region of the control in the design surface.
    Public Class SimpleContainerControlDesigner
        Inherits ContainerControlDesigner

        Private _style As Style = Nothing

        ' Define the caption text for the frame in the design surface.
        Public Overrides ReadOnly Property FrameCaption() As String
            Get
                Return "- My simple container control -"
            End Get
        End Property


        ' Define the style of the frame around the control in the design surface.
        Public Overrides ReadOnly Property FrameStyle() As Style
            Get
                If _style Is Nothing Then

                    _style = New Style()
                    _style.Font.Name = "Verdana"
                    _style.Font.Size = New FontUnit("XSmall")
                    _style.BackColor = Color.LavenderBlush
                    _style.ForeColor = Color.DarkBlue
                End If

                Return _style
            End Get
        End Property


    End Class

End Namespace

備註

該 ContainerControlDesigner 類別提供一個基礎設計類別,用於可在設計表面上修改的控制項。 這包括包含子控制項或可編輯內部屬性的控制項。 它 ContainerControlDesigner 提供一個單一的框架區域來表示控制項,並在設計時自動處理控制的渲染。

對相關控制項套用屬性 ParseChildrenAttribute ,以判斷 ContainerControlDesigner。 對相關控制項套用 ParseChildrenAttribute 以下設定:

控制開發者可根據所開發控制類型,從多個基礎設計器中推導並擴展自訂設計器,定義如下清單:

Note

該 ContainerControlDesigner 職業取代了已 ReadWriteControlDesigner 過時的職業。

使用屬性 DesignerAttribute 將自訂設計師類別與自訂控制實作關聯起來。 欲了解如何使用帶有自訂控制項的控制設計器詳細資訊,請參閱 「攻略:建立網頁伺服器控制的基本控制設計器」。

建構函式

名稱 Description
ContainerControlDesigner()

初始化 ContainerControlDesigner 類別的新執行個體。

屬性

名稱 Description
ActionLists

取得控制設計器的動作清單集合。

(繼承來源 ControlDesigner)
AllowResize

會有一個值,表示控制項在設計時是否可以調整大小。

AssociatedComponents

取得設計師管理的與該元件相關的元件集合。

(繼承來源 ComponentDesigner)
AutoFormats

取得預設自動格式化方案集合,於設計時顯示於相關控制項的 自動格式 化對話框中。

(繼承來源 ControlDesigner)
Behavior
已淘汰.

取得或設定與設計器相關的 DHTML 行為。

(繼承來源 HtmlControlDesigner)
Component

取得設計師正在設計的元件。

(繼承來源 ComponentDesigner)
DataBindings

取得目前控制項的資料綁定收集。

(繼承來源 HtmlControlDesigner)
DataBindingsEnabled

取得一個值,表示相關控制項的包含區域是否支援資料綁定。

(繼承來源 ControlDesigner)
DesignerState

取得一個物件,用於在設計時持久化相關控制項的資料。

(繼承來源 ControlDesigner)
DesignTimeElement
已淘汰.

取得代表該物件在設計表面上所關聯 HtmlControlDesigner 控制項的設計時物件。

(繼承來源 HtmlControlDesigner)
DesignTimeElementView
已淘汰.

取得控制設計器的視控物件。

(繼承來源 ControlDesigner)
DesignTimeHtmlRequiresLoadComplete
已淘汰.

會取得一個值,表示設計主機是否必須完成載入才能呼叫該 GetDesignTimeHtml 方法。

(繼承來源 ControlDesigner)
Expressions

在設計時取得目前控制項的表達式綁定。

(繼承來源 HtmlControlDesigner)
FrameCaption

在設計時會顯示用於控制的說明。

FrameStyle

它會取得設計時套用到控制框架的樣式。

HidePropertiesInTemplateMode

會取得一個值,表示當控制項處於模板模式時,相關控制項的屬性是否被隱藏。

(繼承來源 ControlDesigner)
ID

取得或設定控制項的 ID 字串。

(繼承來源 ControlDesigner)
InheritanceAttribute

會獲得一個屬性,表示相關元件繼承的類型。

(繼承來源 ComponentDesigner)
Inherited

會得到一個值,表示該元件是否為繼承。

(繼承來源 ComponentDesigner)
InTemplateMode

會獲得一個值,表示控制項在設計主機中是處於範本檢視模式還是編輯模式。 該 InTemplateMode 屬性為唯讀。

(繼承來源 ControlDesigner)
IsDirty
已淘汰.

取得或設定一個值,表示網頁伺服器控制項是否被標記為變更。

(繼承來源 ControlDesigner)
NoWrap

會獲得一個值,指定是否要在資料表中使用 HTML nowrap 屬性。

ParentComponent

取得這個設計器的父元件。

(繼承來源 ComponentDesigner)
ReadOnly
已淘汰.

取得或設定一個值,表示控制項屬性在設計時是否為唯讀。

(繼承來源 ControlDesigner)
RootDesigner

取得包含相關控制項的網頁表單頁面的控制項設計器。

(繼承來源 ControlDesigner)
ShadowProperties

會取得一組屬性值,覆蓋使用者設定。

(繼承來源 ComponentDesigner)
ShouldCodeSerialize
已淘汰.

在序列化過程中,會取得或設定一個值,指示是否要在目前設計文件的程式碼背後檔案中為控制項建立欄位宣告。

(繼承來源 HtmlControlDesigner)
Tag

取得一個代表相關控制項 HTML 標記元素的物件。

(繼承來源 ControlDesigner)
TemplateGroups

獲得一組模板群組,每個群組包含一個或多個範本定義。

(繼承來源 ControlDesigner)
UsePreviewControl

會取得一個值,指示控制項設計者是否使用暫存預覽控制來產生設計時的 HTML 標記。

(繼承來源 ControlDesigner)
Verbs

取得與設計者相關元件所支援的設計時動詞。

(繼承來源 ComponentDesigner)
ViewControl

取得或設定一個網頁伺服器控制項,可用於預覽設計時的 HTML 標記。

(繼承來源 ControlDesigner)
ViewControlCreated

取得或設定一個值,指示是否 View 已建立控制項以顯示於設計表面。

(繼承來源 ControlDesigner)
Visible

會獲得一個值,表示該控制點在設計時是否可見。

(繼承來源 ControlDesigner)

方法

名稱 Description
AddDesignTimeCssAttributes(IDictionary)

在設計時新增控制項的樣式屬性。

CreateErrorDesignTimeHtml(String, Exception)

建立 HTML 標記,在設計時顯示指定的例外錯誤訊息。

(繼承來源 ControlDesigner)
CreateErrorDesignTimeHtml(String)

建立 HTML 標記,在設計時顯示指定的錯誤訊息。

(繼承來源 ControlDesigner)
CreatePlaceHolderDesignTimeHtml()

提供簡單的矩形佔位符號表示,顯示控制項的類型與 ID。

(繼承來源 ControlDesigner)
CreatePlaceHolderDesignTimeHtml(String)

提供簡單的矩形佔位符號表示,顯示控制項的類型與 ID,以及額外指定的指令或資訊。

(繼承來源 ControlDesigner)
CreateViewControl()

回傳相關控制項的副本,用於在設計表面上檢視或渲染。

(繼承來源 ControlDesigner)
Dispose()

釋放 ComponentDesigner所使用的所有資源。

(繼承來源 ComponentDesigner)
Dispose(Boolean)

釋放物件使用的 HtmlControlDesigner 非管理資源,並可選擇性地釋放受管理資源。

(繼承來源 HtmlControlDesigner)
DoDefaultAction()

在原始碼檔案中為元件的預設事件建立方法簽章,並引導使用者游標到該位置。

(繼承來源 ComponentDesigner)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetBounds()

取得代表控制點邊界的矩形座標,該矩形在設計表面上顯示。

(繼承來源 ControlDesigner)
GetDesignTimeCssAttributes()

在設計時回傳控制項的樣式屬性集合。

GetDesignTimeHtml()

擷取設計時用來表示控制項的 HTML 標記。

(繼承來源 ControlDesigner)
GetDesignTimeHtml(DesignerRegionCollection)

回傳設計時用來表示控制項的 HTML 標記。

GetEditableDesignerRegionContent(EditableDesignerRegion)

在設計時回傳控制項可編輯區域的內容。

GetEmptyDesignTimeHtml()

取得 HTML 標記,以表示設計時的網頁伺服器控制項,執行時不會有視覺化表示。

(繼承來源 ControlDesigner)
GetErrorDesignTimeHtml(Exception)

取得提供指定例外資訊的 HTML 標記。

(繼承來源 ControlDesigner)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetPersistenceContent()

在設計時回傳控制項的持久性內容。

GetPersistInnerHtml()
已淘汰.

取得控制項的持久性內部 HTML 標記。

(繼承來源 ControlDesigner)
GetService(Type)

嘗試從設計者元件的設計模式網站擷取指定類型的服務。

(繼承來源 ComponentDesigner)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
GetViewRendering()

擷取包含相關控制項內容及區域設計時標記的物件。

(繼承來源 ControlDesigner)
Initialize(IComponent)

初始化控制設計器並載入指定的元件。

(繼承來源 ControlDesigner)
InitializeExistingComponent(IDictionary)

重新初始化現有元件。

(繼承來源 ComponentDesigner)
InitializeNewComponent(IDictionary)

初始化新建立的元件。

(繼承來源 ComponentDesigner)
InitializeNonDefault()
已淘汰.
已淘汰.

初始化已初始化為非預設設定的匯入元件的設定。

(繼承來源 ComponentDesigner)
Invalidate()

會使設計表面上顯示的整個控制區域失效,並指示控制設計師重新繪製控制控制。

(繼承來源 ControlDesigner)
Invalidate(Rectangle)

使顯示在設計表面上的控制區域失效,並指示控制設計師重新繪製控制控制。

(繼承來源 ControlDesigner)
InvokeGetInheritanceAttribute(ComponentDesigner)

得到 InheritanceAttribute 指定的 ComponentDesigner。

(繼承來源 ComponentDesigner)
IsPropertyBound(String)
已淘汰.

擷取一個值,指示相關控制項上的指定屬性是否為資料綁定。

(繼承來源 ControlDesigner)
Localize(IDesignTimeResourceWriter)

利用提供的資源寫入器,將相關控制項的可區域化屬性持久化至設計主機中的資源。

(繼承來源 ControlDesigner)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnAutoFormatApplied(DesignerAutoFormat)

當已對相關控制項套用預先定義的自動格式化方案時,會呼叫此系統。

(繼承來源 ControlDesigner)
OnBehaviorDetaching()
已淘汰.

當行為與元素分離時被召喚。

(繼承來源 HtmlControlDesigner)
OnBindingsCollectionChanged(String)
已淘汰.

當資料綁定集合變更時會被呼叫。

(繼承來源 ControlDesigner)
OnClick(DesignerRegionMouseEventArgs)

當使用者在設計時點擊相關控制項時,設計主機會呼叫此功能。

(繼承來源 ControlDesigner)
OnComponentChanged(Object, ComponentChangedEventArgs)

當相關控制變更時會被呼叫。

(繼承來源 ControlDesigner)
OnComponentChanging(Object, ComponentChangingEventArgs)

代表將 ComponentChanging 處理相關控制項事件的方法。

(繼承來源 ControlDesigner)
OnControlResize()
已淘汰.

當設計主機在設計時調整了相關的網頁伺服器控制項時,會呼叫。

(繼承來源 ControlDesigner)
OnPaint(PaintEventArgs)

當控制設計者在設計表面繪製相關控制項時,若值 CustomPaint 為 true,則呼叫 。

(繼承來源 ControlDesigner)
OnSetComponentDefaults()
已淘汰.
已淘汰.

設定元件的預設屬性。

(繼承來源 ComponentDesigner)
OnSetParent()

提供一種當相關控制連接父控制時,執行額外處理的方式。

(繼承來源 HtmlControlDesigner)
PostFilterAttributes(IDictionary)

允許設計者更改或移除其透過 TypeDescriptor.

(繼承來源 ComponentDesigner)
PostFilterEvents(IDictionary)

允許設計者更改或移除透過 TypeDescriptor.

(繼承來源 ComponentDesigner)
PostFilterProperties(IDictionary)

允許設計者更改或移除透過 TypeDescriptor.

(繼承來源 ComponentDesigner)
PreFilterAttributes(IDictionary)

允許設計者透過 . 來擴充其所暴露 TypeDescriptor的屬性集合。

(繼承來源 ComponentDesigner)
PreFilterEvents(IDictionary)

設定元件物件在設計時 TypeDescriptor 會被暴露的事件清單。

(繼承來源 HtmlControlDesigner)
PreFilterProperties(IDictionary)

在設計時新增或移除設計主機的屬性網格中的屬性,或提供可能對應於相關控制項屬性的新設計時屬性。

(繼承來源 ControlDesigner)
RaiseComponentChanged(MemberDescriptor, Object, Object)

通知該 IComponentChangeService 元件已被更改。

(繼承來源 ComponentDesigner)
RaiseComponentChanging(MemberDescriptor)

通知該 IComponentChangeService 元件即將被更改。

(繼承來源 ComponentDesigner)
RaiseResizeEvent()
已淘汰.

引發 OnControlResize() 事件。

(繼承來源 ControlDesigner)
RegisterClone(Object, Object)

將內部資料登錄在克隆控制中。

(繼承來源 ControlDesigner)
SetEditableDesignerRegionContent(EditableDesignerRegion, String)

在設計時設定控制項可編輯區域的內容。

SetRegionContent(EditableDesignerRegion, String)

在控制項設計時視圖中指定可編輯區域的內容。

(繼承來源 ControlDesigner)
SetViewFlags(ViewFlags, Boolean)

將指定的位 ViewFlags 元列舉分配給指定的旗標值。

(繼承來源 ControlDesigner)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
UpdateDesignTimeHtml()

透過呼叫 GetDesignTimeHtml 該方法,刷新相關網頁伺服器控制項的設計時 HTML 標記。

(繼承來源 ControlDesigner)

明確介面實作

名稱 Description
IDesignerFilter.PostFilterAttributes(IDictionary)

關於此成員的描述,請參見方法。PostFilterAttributes(IDictionary)

(繼承來源 ComponentDesigner)
IDesignerFilter.PostFilterEvents(IDictionary)

關於此成員的描述,請參見方法。PostFilterEvents(IDictionary)

(繼承來源 ComponentDesigner)
IDesignerFilter.PostFilterProperties(IDictionary)

關於此成員的描述,請參見方法。PostFilterProperties(IDictionary)

(繼承來源 ComponentDesigner)
IDesignerFilter.PreFilterAttributes(IDictionary)

關於此成員的描述,請參見方法。PreFilterAttributes(IDictionary)

(繼承來源 ComponentDesigner)
IDesignerFilter.PreFilterEvents(IDictionary)

關於此成員的描述,請參見方法。PreFilterEvents(IDictionary)

(繼承來源 ComponentDesigner)
IDesignerFilter.PreFilterProperties(IDictionary)

關於此成員的描述,請參見方法。PreFilterProperties(IDictionary)

(繼承來源 ComponentDesigner)
ITreeDesigner.Children

關於此成員的描述,請參見 Children 該物業。

(繼承來源 ComponentDesigner)
ITreeDesigner.Parent

關於此成員的描述,請參見 Parent 該物業。

(繼承來源 ComponentDesigner)

適用於

另請參閱