ControlDesigner.Initialize Method
Initializes the designer and loads the specified component.
[Visual Basic] Overrides Public Sub Initialize( _ ByVal component As IComponent _ ) Implements IDesigner.Initialize [C#] public override void Initialize( IComponent component ); [C++] public: void Initialize( IComponent* component ); [JScript] public override function Initialize( component : IComponent );
Parameters
- component
- The control element being designed.
Implements
Remarks
This method is called by the designer host to load the component into the designer.
Example
[Visual Basic] The following code example is a class that overrides the Initialize method to ensure that the control the designer is associated with is an instance of a custom class, named Simple. If it is not, an ArgumentException is thrown.
[Visual Basic]
' 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 AspNet.Samples
Namespace AspNet.Samples.Design
Public 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
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
' 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
End Class
End Namespace
[C#, C++, JScript] No example is available for C#, C++, or JScript. To view a Visual Basic example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
.NET Framework Security:
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries From Partially Trusted Code
See Also
ControlDesigner Class | ControlDesigner Members | System.Web.UI.Design Namespace | IDesigner