ContainerControlDesigner 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供控制項的設計工具功能,這些控制項包含可在設計階段修改的子控制項或屬性。
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 相關聯的控件上套用設定,如下所示:
false
表示, ContainerControlDesigner 表示可編輯設計區域的內容做為子控件。true
表示, ContainerControlDesigner 表示可編輯設計區域的內容,做為控件的可編輯內部屬性。
控件開發人員可以根據所開發的控件類型,從數個基底設計工具的其中一個衍生和擴充自定義設計工具,如下列清單所定義:
允許在設計時間新增子控件的控制項可以衍生自 ContainerControlDesigner 類別。 例如,類別 PanelContainerDesigner 衍生自 類別, ContainerControlDesigner 並且 Panel 代表設計介面上的控件。
具有一或多個子控件的控件,也可能有可在設計時間新增控件的可編輯設計工具區域,可以從類別衍生 CompositeControlDesigner 。
需要自定義設計時間處理的控件可以衍生自基 ControlDesigner 類。
注意
類別 ContainerControlDesigner 會取代過時 ReadWriteControlDesigner 的類別。
DesignerAttribute使用屬性,將自定義設計工具類別與自定義控件實作產生關聯。 如需如何搭配自定義控件使用控件設計工具的詳細資訊,請參閱逐步解說 :建立 Web 伺服器控制項的基本控制項設計工具。
建構函式
ContainerControlDesigner() |
初始化 ContainerControlDesigner 類別的新執行個體。 |
屬性
ActionLists |
取得控制項設計工具的動作清單集合。 (繼承來源 ControlDesigner) |
AllowResize |
取得值,指出是否可在設計階段中調整控制項的大小。 |
AssociatedComponents |
取得元件集合,該集合與設計工具管理的元件相關聯。 (繼承來源 ComponentDesigner) |
AutoFormats |
針對設計階段的相關聯控制項,取得要在 [自動格式化] 對話方塊中顯示之預先定義的自動格式化配置集合。 (繼承來源 ControlDesigner) |
Behavior |
已淘汰.
取得或設定與設計工具相關聯的 DHTML 行為。 (繼承來源 HtmlControlDesigner) |
Component |
取得這個設計工具正在設計的元件。 (繼承來源 ComponentDesigner) |
DataBindings |
取得目前控制項的資料繫結 (Data Binding) 集合。 (繼承來源 HtmlControlDesigner) |
DataBindingsEnabled |
取得值,指出關聯控制項的包含區域是否支援資料繫結。 (繼承來源 ControlDesigner) |
DesignerState |
取得物件,用於在設計階段保存關聯控制項的資料。 (繼承來源 ControlDesigner) |
DesignTimeElement |
已淘汰.
取得設計階段物件,表示與設計介面上 HtmlControlDesigner 物件相關聯的控制項。 (繼承來源 HtmlControlDesigner) |
DesignTimeElementView |
已淘汰.
取得控制項設計工具的檢視控制項物件。 (繼承來源 ControlDesigner) |
DesignTimeHtmlRequiresLoadComplete |
已淘汰.
取得值,指出設計主應用程式在呼叫 GetDesignTimeHtml 方法之前是否必須完成載入。 (繼承來源 ControlDesigner) |
Expressions |
在設計階段取得目前控制項的運算式繫結。 (繼承來源 HtmlControlDesigner) |
FrameCaption |
取得在設計階段中針對控制項所顯示的標題。 |
FrameStyle |
取得在設計階段中套用至控制項框架的樣式。 |
HidePropertiesInTemplateMode |
取得值,指示當控制項處於樣板模式時,關聯控制項的屬性是否會隱藏。 (繼承來源 ControlDesigner) |
ID |
取得或設定控制項的 ID 字串。 (繼承來源 ControlDesigner) |
InheritanceAttribute |
取得屬性 (Attribute),表示相關元件的繼承 (Inheritance) 型別。 (繼承來源 ComponentDesigner) |
Inherited |
取得值,表示是否要繼承這個元件。 (繼承來源 ComponentDesigner) |
InTemplateMode |
取得值,指出控制項在設計主應用程式中處於樣板檢視模式還是編輯模式。 InTemplateMode 屬性是唯讀的。 (繼承來源 ControlDesigner) |
IsDirty |
已淘汰.
取得或設定值,指出 Web 伺服器控制項是否已標記為變更。 (繼承來源 ControlDesigner) |
NoWrap |
取得值,指定是否要在資料表上使用 HTML |
ParentComponent |
取得這個設計工具的父元件。 (繼承來源 ComponentDesigner) |
ReadOnly |
已淘汰.
取得或設定值,指出控制項屬性於設計階段是否為唯讀。 (繼承來源 ControlDesigner) |
RootDesigner |
為包含關聯控制項的 Web Form 網頁,取得控制項設計工具。 (繼承來源 ControlDesigner) |
SetTextualDefaultProperty |
提供控制項的設計工具功能,這些控制項包含可在設計階段修改的子控制項或屬性。 (繼承來源 ComponentDesigner) |
ShadowProperties |
取得覆寫使用者設定的屬性值集合。 (繼承來源 ComponentDesigner) |
ShouldCodeSerialize |
已淘汰.
取得或設定值,指出是否應該於序列化 (Serialization) 期間,在程式碼後置 (Code-Behind) 檔案中為目前設計文件建立控制項的欄位宣告。 (繼承來源 HtmlControlDesigner) |
Tag |
取得物件,表示關聯控制項的 HTML 標記項目。 (繼承來源 ControlDesigner) |
TemplateGroups |
取得範本群組集合,各範本群組包含一個或多個範本定義。 (繼承來源 ControlDesigner) |
UsePreviewControl |
取得值,其中該值會表示控制項設計工具是否使用暫時預覽控制項以產生設計階段 HTML 標記。 (繼承來源 ControlDesigner) |
Verbs |
取得與設計工具相關元件所支援的設計階段動詞命令 (Verb)。 (繼承來源 ComponentDesigner) |
ViewControl |
取得或設定 Web 伺服器控制項,可用於預覽設計階段的 HTML 標記。 (繼承來源 ControlDesigner) |
ViewControlCreated |
取得或設定值,指出是否已建立 |
Visible |
取得值,這個值表示控制項在設計階段是否為可見的。 (繼承來源 ControlDesigner) |
方法
明確介面實作
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) |