ControlDesigner.Initialize メソッド
アセンブリ: System.Design (system.design.dll 内)

Public Overrides Sub Initialize ( _ component As IComponent _ )
public void Initialize ( IComponent component )


Initialize メソッドをオーバーライドするコントロール クラスおよびコントロール デザイナ クラスを使用して、内部変数を初期化する方法のコード例を次に示します。
' Create a designer class for a custom class, ' named Simple. Imports System Imports System.ComponentModel Imports System.IO Imports System.Web Imports System.Web.UI Imports System.Web.UI.Design Imports System.Web.UI.WebControls Imports System.Security.Permissions Imports AspNet.Samples Namespace AspNet.Samples Public NotInheritable Class SimpleDesigner Inherits System.Web.UI.Design.ControlDesigner ' Declare a reference to the Simple class Private simpleControl As Simple ' Create a constructor for the designer class ' When an instance of the designer is created, ' the Text property of the instance of a Simple control ' is set to the designer's ID property. ' the designer is called. Public Sub New() simpleControl = CType(Component, Simple) simpleControl.Text = Me.ID End Sub ' Override the Initialize method to ensure ' that the designer is always working with ' an instance of the Simple class. Overrides Public Sub Initialize( _ ByVal component As IComponent _ ) If Not (component Is simpleControl) throw new ArgumentException( _ "The component must be an instance of the Simple class.", _ "component") End If MyBase.Initialize(component) End Sub Overrides Public ReadOnly Property AllowResize As Boolean Get Return True End Get End Property Public Overrides Function GetDesignTimeHtml() As String ' Component is the instance of the component or control that ' this designer object is associated with. This property is ' inherited from System.ComponentModel.ComponentDesigner. simpleControl = CType(Component, Simple) If simpleControl.Text.Length > 0 Then Dim sw As New StringWriter() Dim tw As New HtmlTextWriter(sw) Dim placeholderLink As New HyperLink() ' Put simpleControl.Text into the link's Text. placeholderLink.Text = simpleControl.Text placeholderLink.NavigateUrl = simpleControl.Text placeholderLink.RenderControl(tw) Return sw.ToString() Else Return GetEmptyDesignTimeHtml() End If End Function ' Override the OnControlResize method to ' set the IsDirty property to true and ' call the UpdateDesignTimeHtml method. Overrides Protected Sub OnControlResize() Me.IsDirty = True Me.UpdateDesignTimeHtml End Sub End Class End Namespace
using System; using System.ComponentModel; using System.Web.UI; using System.Web.UI.Design; using System.Web.UI.WebControls; namespace AspNet.Samples { // Create a custom class to render the Text property [Designer(typeof(SimpleDesigner)), DefaultProperty("Text"), ToolboxData("<{0}:Simple runat=\"server\"></{0}:Simple>")] public sealed class Simple : WebControl { public Simple() { } // Create a Text property [Browsable(true), Bindable(true), PersistenceMode(PersistenceMode.Attribute)] public string Text { get { object o = ViewState["TextProp"]; return (o == null) ? "Sample Text" : (string)o; } set { ViewState["TextProp"] = value; } } // Render the text inside the control protected override void RenderContents(HtmlTextWriter writer) { writer.Write(Text); } } } namespace AspNet.Samples { //Create a designer class for the Simple control public sealed class SimpleDesigner : ControlDesigner { // Declare a reference to the Simple class private Simple simpleControl; public SimpleDesigner() { } public override void Initialize(IComponent ponent) { base.Initialize(ponent); // Get a reference to the control simpleControl = (Simple)ponent; //Set Text to the control's ID simpleControl.Text = simpleControl.ID; } // Allow resizing the control in the design host public override bool AllowResize { get { return true; } } public override string GetDesignTimeHtml() { if (simpleControl.Text.Length > 0) { string spec = "<a href='{0}.aspx'>{0}</a>"; return String.Format(spec, simpleControl.Text); } else return GetEmptyDesignTimeHtml(); } } }


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


ControlDesigner.Initialize メソッド
アセンブリ: System.Design (system.design.dll 内)

Public Overrides Sub Initialize ( _ component As IComponent _ )
public void Initialize ( IComponent component )



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


- ControlDesigner.Initializeのページへのリンク