PanelContainerDesigner 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在視覺化設計工具中,為 Panel 控制項提供設計階段支援。
public ref class PanelContainerDesigner : System::Web::UI::Design::ContainerControlDesigner
public class PanelContainerDesigner : System.Web.UI.Design.ContainerControlDesigner
type PanelContainerDesigner = class
inherit ContainerControlDesigner
Public Class PanelContainerDesigner
Inherits ContainerControlDesigner
- 繼承
-
PanelContainerDesigner
範例
下列程式代碼範例示範如何擴充 PanelContainerDesigner 類別,以變更在設計時間衍生自 Panel 控件的控件外觀和行為。
此範例會 MyPanelContainer
從 Panel 控件衍生 類別。 此範例也會從 類別衍生 MyPanelContainerDesigner
類別,PanelContainerDesigner並在類別上MyPanelContainer
套用 DesignerAttribute 的屬性MyPanelContainerDesigner
。
會 MyPanelContainerDesigner
覆寫下列 PanelContainerDesigner 成員:
要 FrameStyle 定義控件設計時間框線樣式的屬性
MyPanelContainer
。FrameCaption如果未定義任何標題,則為控件提供預設標題
MyPanelContainer
的屬性。Initialize如果相關聯的控件不是
MyPanelContainer
物件,則擲回ArgumentException例外狀況的方法。
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.ComponentModel;
using System.Security.Permissions;
namespace Examples.CS.WebControls.Design
{
// The MyPanelContainer is a copy of the Panel.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(Examples.CS.WebControls.Design.MyPanelContainerDesigner))]
public class MyPanelContainer : Panel
{
} // MyPanelContainer
// Override members of the PanelContainerDesigner.
public class MyPanelContainerDesigner : PanelContainerDesigner
{
// Provide a design-time caption for the panel.
public override string FrameCaption
{
get
{
// If the FrameCaption is empty, use the panel control ID.
string localCaption = base.FrameCaption;
if (localCaption == null || localCaption == "")
localCaption = ((Panel)Component).ID.ToString();
return localCaption;
}
} // FrameCaption
// Provide a design-time border style for the panel.
public override Style FrameStyle
{
get
{
Style styleOfFrame = base.FrameStyle;
// If no border style is defined, define one.
if (styleOfFrame.BorderStyle == BorderStyle.NotSet ||
styleOfFrame.BorderStyle == BorderStyle.None)
styleOfFrame.BorderStyle = BorderStyle.Outset;
return styleOfFrame;
}
} // FrameStyle
// Initialize the designer.
public override void Initialize(IComponent component)
{
// Ensure that only a MyPanelContainer can be created
// in this designer.
if (!(component is MyPanelContainer))
throw new ArgumentException();
base.Initialize(component);
} // Initialize
} // MyPanelContainerDesigner
} // Examples.CS.WebControls.Design
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.ComponentModel
Imports System.Security.Permissions
Namespace Examples.VB.WebControls.Design
' The MyPanelContainer is a copy of the PanelContainer.
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(Examples.VB.WebControls.Design.MyPanelContainerDesigner))> _
Public Class MyPanelContainer
Inherits Panel
End Class
' Override members of the PanelContainerDesigner.
Public Class MyPanelContainerDesigner
Inherits PanelContainerDesigner
' Provide a design-time caption for the panel.
Public Overrides ReadOnly Property FrameCaption() As String
Get
' If the FrameCaption is empty, use the panel control ID.
Dim localCaption As String = MyBase.FrameCaption
If localCaption Is Nothing Or localCaption = "" Then
localCaption = CType(Component, Panel).ID.ToString()
End If
Return localCaption
End Get
End Property ' FrameCaption
' Provide a design-time border style for the panel.
Public Overrides ReadOnly Property FrameStyle() As Style
Get
Dim styleOfFrame As Style = MyBase.FrameStyle
' If no border style is defined, define one.
If (styleOfFrame.BorderStyle = BorderStyle.NotSet Or _
styleOfFrame.BorderStyle = BorderStyle.None) Then
styleOfFrame.BorderStyle = BorderStyle.Outset
End If
Return styleOfFrame
End Get
End Property ' FrameStyle
' Initialize the designer.
Public Overrides Sub Initialize(ByVal component As IComponent)
' Ensure that only a MyPanelContainer can be created
' in this designer.
If Not TypeOf component Is MyPanelContainer Then
Throw New ArgumentException()
End If
MyBase.Initialize(component)
End Sub
End Class
End Namespace ' Examples.VB.WebControls.Design
備註
控件 Panel 會當做其他控件的容器使用,特別是在以程式設計方式產生控件時。
在可視化設計工具中,當您從 [來源] 切換至 [設計] 檢視時,會剖析描述相關聯 Panel 控件的標記原始程式碼,並在設計介面上建立控件的設計時間版本。 當您切換回 [來源] 檢視時,設計時間控件會保存到標記原始程式碼,並編輯到網頁的標記中。 類別 PanelContainerDesigner 提供 Panel 可視化設計工具中控件的設計時間支援。
屬性 FrameCaption 會取得出現在相關聯 Panel 控件上的標題。 屬性 FrameStyle 會取得相關聯控件的樣式。
屬性 UsePreviewControl 一律會傳 true
回 ,表示設計工具會建立關聯的 Panel 暫存複本,以產生設計時間標記。
方法 Initialize 會準備設計工具,以檢視、編輯及設計相關聯的 Panel 控件。 方法會將 AddDesignTimeCssAttributes 集合專案設定為相關聯控件之各種樣式屬性的字串表示。
建構函式
PanelContainerDesigner() |
初始化 PanelContainerDesigner 類別的新執行個體。 |
屬性
ActionLists |
取得控制項設計工具的動作清單集合。 (繼承來源 ControlDesigner) |
AllowResize |
取得值,指出是否可在設計階段中調整控制項的大小。 (繼承來源 ContainerControlDesigner) |
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 |
取得相關聯 Panel 控制項上顯示的標題。 |
FrameStyle |
取得關聯 Panel 控制項的樣式。 |
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 |
在視覺化設計工具中,為 Panel 控制項提供設計階段支援。 (繼承來源 ComponentDesigner) |
ShadowProperties |
取得覆寫使用者設定的屬性值集合。 (繼承來源 ComponentDesigner) |
ShouldCodeSerialize |
已淘汰.
取得或設定值,指出是否應該於序列化 (Serialization) 期間,在程式碼後置 (Code-Behind) 檔案中為目前設計文件建立控制項的欄位宣告。 (繼承來源 HtmlControlDesigner) |
Tag |
取得物件,表示關聯控制項的 HTML 標記項目。 (繼承來源 ControlDesigner) |
TemplateGroups |
取得範本群組集合,各範本群組包含一個或多個範本定義。 (繼承來源 ControlDesigner) |
UsePreviewControl |
取得值,指出設計工具是否應該使用暫存複本,而非與設計工具關聯的實際控制項,來產生設計階段標記。 |
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) |