This documentation is archived and is not being maintained.

ButtonDesigner Class

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

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


[Visual Basic]
Public Class ButtonDesigner
   Inherits ControlDesigner
public class ButtonDesigner : ControlDesigner
public __gc class ButtonDesigner : public ControlDesigner
public class ButtonDesigner extends ControlDesigner

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.


Unless overridden, the GetDesignTimeHtml method of the ButtonDesigner class sets the Text property of the control to the ID property of the control, if the Text property is empty.


[Visual Basic] The following code example creates a custom designer class, named CustomButtonDesigner, that inherits from the ButtonDesigner class. It overrides the GetDesignTimeHtml method. If the Button.Text property has not been set previously, a call to this method sets it to a string and displays that string on the design surface. If the Text property has been set, the existing property value is displayed.

[Visual Basic] 
' Create a class that derives from ButtonDesigner
' that displays the custom SampleButton control
' on a design surface.
Imports System
Imports System.Design
Imports System.Drawing
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports Examples.AspNet

Namespace Examples.AspNet.Design

' <System.Security.Permissions.SecurityPermission( _
'   System.Security.Permissions.SecurityAction.Demand, _
'    Flags:=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)> _
Public Class SampleButtonDesigner
   Inherits ButtonDesigner
   ' Override the GetDesignTimeHtml method.
   Public Overrides Function GetDesignTimeHtml() As String

      Dim sampleButton As SampleButton = CType(Component, SampleButton)
      Dim designTimeHtml As String = Nothing      
      ' Check the control's BorderStyle property
      ' to conditionally render design-time HTML.
      If (sampleButton.BorderStyle = BorderStyle.NotSet) Then

          ' Create variables to hold current property settings.
          Dim oldBorderStyle As BorderStyle = sampleButton.BorderStyle
          Dim oldBorderWidth As Unit = sampleButton.BorderWidth
          Dim oldBorderColor As Color = sampleButton.BorderColor
          ' Set properties and the design-time HTML.
              sampleButton.BorderStyle = BorderStyle.Dashed
              sampleButton.BorderWidth = Unit.Pixel(3)
              sampleButton.BorderColor = Color.Blue
              designTimeHtml = MyBase.GetDesignTimeHtml()
          ' If an exception occurs, call the GetErrorDesignTimeHtml
          ' method.
          Catch ex As Exception
              designTimeHtml = GetErrorDesignTimeHtml(ex)

          ' Return properties to their original settings.
              sampleButton.BorderStyle = oldBorderStyle
              sampleButton.BorderWidth = oldBorderWidth
              sampleButton.BorderColor = oldBorderColor
          End Try
          designTimeHtml = MyBase.GetDesignTimeHtml()
      End If
      Return designTimeHTML

   End Function   
  End Class 
End Namespace

[Visual Basic] The following code example is a simple class, named CustomButton, that inherits from the Button class and is associated with the CustomButtonDesigner class by using the DesignerAttribute class.

[Visual Basic] 
<DesignerAttribute( _
    GetType(Examples.AspNet.Design.SampleButtonDesigner))> _
Public Class SampleButton
    Inherits Button
    ' Include code here for a custom 
    ' class that inherits from Button.        
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

ButtonDesigner Members | System.Web.UI.Design.WebControls Namespace | Button