ControlDesigner.Initialize Method (IComponent)
.NET Framework (current version)
Initializes the control designer and loads the specified component.
Assembly: System.Design (in System.Design.dll)
Parameters
- component
-
Type:
System.ComponentModel.IComponent
The control being designed.
Implements
IDesigner.Initialize(IComponent)The Initialize method is called by the design host to complete the following actions:
Load the control designer with the component to design.
Set up the view on the control using the SetViewFlags method.
Verify that the associated control is of the right type.
The following code example demonstrates how to use a control class and a control designer class that override the Initialize method to initialize internal variables.
' 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
.NET Framework
Available since 1.1
Available since 1.1
Show: