Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
PanelDesigner Class

PanelDesigner Class

Extends design-time behavior for the Panel Web server control.

For a list of all members of this type, see PanelDesigner Members.


[Visual Basic]
Public Class PanelDesigner
   Inherits ReadWriteControlDesigner
public class PanelDesigner : ReadWriteControlDesigner
public __gc class PanelDesigner : public ReadWriteControlDesigner
public class PanelDesigner extends ReadWriteControlDesigner

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


[Visual Basic] The following code example shows a custom class, named CustomPanelDesigner, that derives from the PanelDesigner class. It overrides the MapPropertyToStyle and OnBehaviorAttached methods. This designer is used with a custom control, named CustomPanel, that derives from the Panel class. When this designer is attached to the CustomPanel class, it converts the Panel class's Wrap property to the NoWrap HTML attribute.

[Visual Basic] Note   The PanelDesigner class derives directly from the ReadWriteControlDesigner class. You can override ReadWriteControlDesigner directly to accomplish the same conversion of the Panel.Wrap property in the designer. However, if you do this you will lose the base MapPropertyToStyle method processing offered by the PanelDesigner class.
[Visual Basic] 
' Create a class that derives from the PanelDesigner
' class. Because PanelDesigner derives directly 
' from ReadWriteControlDesigner, you could derive
' from the latter to accomplish the same design-
' time functionality found in this example.
Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Drawing.Design
Imports Microsoft.Win32
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls

Namespace AspNet.Samples.Design

  ' The CustomPanelDesigner class is designed to be 
  ' attached to a class that inherits the System.Web.UI.
  ' Panel class.
  Public Class CustomPanelDesigner
    Inherits PanelDesigner
    ' Override the MapPropertyToStyle method to set the
    ' Panel.Wrap property to the NoWrap HTML attribute.
    Overrides Protected Sub MapPropertyToStyle(propName As String, varPropValue As Object) 
       ' Display messages when debugging.
       Debug.Assert(Not (propName = Nothing Or propName.Length <> 0), "Invalid property name passed in.")
       Debug.Assert(Not (varPropValue = Nothing), "Invalid property value passed in.")

       ' If the parameters passed to the method are null,
       ' return nothing. 
       If ((propName Is Nothing) And (varPropValue Is Nothing)) Then
       End If
       ' If the second parameter is not a null
       ' value, check whether the property name is Wrap.
       If Not (varPropValue Is Nothing) Then
             ' If property name is wrap, convert
             ' it to the HTML NoWrap attribute.
             If (propName.Equals("Wrap")) Then
                Dim strValue As String = String.Empty
                If (CType(varPropValue, Boolean)) Then
                   Behavior.SetStyleAttribute("NoWrap", True, strValue, True)
                End If
               MyBase.MapPropertyToStyle(propName, varPropValue)             
             End If  
           Catch ex As Exception
           End Try            
        End If
     End Sub 'MapPropertyToStyle

    ' Override the OnBehaviorAttached method to call
    ' the MapPropertyToStyle method when the designer
    ' control's wrap property is set to true.       
     Overrides Protected Sub OnBehaviorAttached()

        Dim component As IComponent
        Dim panel As CustomPanel = CType(component, CustomPanel)
        Dim wrap As Boolean = panel.Wrap
        If wrap Then
           MapPropertyToStyle("Wrap", wrap)
        End If  
     End Sub 'OnBehaviorAttached
  End Class
End Namespace

[Visual Basic] The following code example is a custom Panel class, named CustomPanel, that is associated with the CustomPanelDesigner class shown above.

[Visual Basic] 
' Create the class that uses the 
' CustomPanelDesigner class to be 
' displayed at design time.
<Designer(GetType( _
 AspNet.Samples.Design.CustomPanelDesigner))> _    
Public Class CustomPanel
 Inherits System.Web.UI.WebControls.Panel
    Overrides Public Property Wrap As Boolean
        Return MyBase.Wrap
      End Get
        MyBase.Wrap = value
      End Set
    End Property
End Class

[C#, C++, JScript] No example is available for C#, C++, or JScript. To view a Visual Basic example, click the Language Filter button Language Filter in the upper-left corner of the page.


Namespace: System.Web.UI.Design.WebControls

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

Assembly: System.Design (in System.Design.dll)

See Also

PanelDesigner Members | System.Web.UI.Design.WebControls Namespace | Panel

© 2015 Microsoft