Freigeben über


ButtonDesigner-Klasse

Wird zum Bereitstellen von Entwurfszeitunterstützung in einem visuellen Designer für das Button-Webserversteuerelement verwendet.

Namespace: System.Web.UI.Design.WebControls
Assembly: System.Design (in system.design.dll)

Syntax

'Declaration
Public Class ButtonDesigner
    Inherits ControlDesigner
'Usage
Dim instance As ButtonDesigner
public class ButtonDesigner : ControlDesigner
public ref class ButtonDesigner : public ControlDesigner
public class ButtonDesigner extends ControlDesigner
public class ButtonDesigner extends ControlDesigner

Hinweise

Wenn Sie in einem visuellen Designer von der Quellansicht zur Entwurfsansicht wechseln, wird der Markupquellcode analysiert, der das Button-Steuerelement beschreibt, und auf der Entwurfsoberfläche wird eine Entwurfszeitversion des Steuerelements erstellt. Wenn Sie zurück zur Quellansicht wechseln, wird das Entwurfszeit-Steuerelement im Markupquellcode beibehalten und in das Markup für die Webseite eingearbeitet.

Beispiel

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Beispiel wird das Erweitern der ButtonDesigner-Klasse veranschaulicht. Im zweiten Beispiel wird das Erweitern der Button-Klasse und das Zuweisen dieser zu der Klasse veranschaulicht, die im ersten Codebeispiel erstellt wurde.

Im folgenden Codebeispiel wird das Erstellen einer benutzerdefinierten Klasse von veranschaulicht, die die ButtonDesigner-Klasse erweitert und die GetDesignTimeHtml-Methode überschreibt. Wenn die BorderStyle-Eigenschaft zuvor nicht festgelegt wurde (d. h., sie weist den Feldwert NotSet auf), wird durch einen Aufruf der GetDesignTimeHtml-Methode die Eigenschaft auf eine blauen gestrichelten Rahmen mit einer Breite von 3 Pixel festgelegt, und der Rahmen wird auf der Entwurfsoberfläche angezeigt. Wenn die BorderStyle-Eigenschaft festgelegt wurde, werden die vorhandenen Eigenschaftenwerte für den Rahmen angezeigt.

Normalerweise ruft GetDesignTimeHtml seine Basismethode ControlDesigner.GetDesignTimeHtml auf, die zum Generieren des Markups die Control.RenderControl-Methode des zugeordneten Steuerelements aufruft.

' Create a class that derives from ButtonDesigner
' and displays the custom SampleButton control
' on the design surface.
Imports System
Imports System.Web.UI.Design
Imports System.Drawing
Imports System.ComponentModel
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls

Namespace Examples.AspNet 

    
    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.
                Try
                    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.
                Finally
                    sampleButton.BorderStyle = oldBorderStyle
                    sampleButton.BorderWidth = oldBorderWidth
                    sampleButton.BorderColor = oldBorderColor
                End Try

            Else
                designTimeHtml = MyBase.GetDesignTimeHtml()
            End If

            Return designTimeHtml

        End Function

    End Class
End Namespace

Im folgenden Codebeispiel wird veranschaulicht, wie eine einfache Klasse verwendet wird, die die Button-Klasse erweitert, und wie diese Klasse mit dem DesignerAttribute-Objekt der im vorhergehenden Beispiel erstellten SampleButtonDesigner-Klasse zugeordnet wird.

<DesignerAttribute( _
    GetType(Examples.AspNet.SampleButtonDesigner))> _
Public Class SampleButton
    Inherits Button
    ' Include code here for a custom 
    ' class that inherits from Button.        
End Class

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
   System.ComponentModel.Design.ComponentDesigner
     System.Web.UI.Design.HtmlControlDesigner
       System.Web.UI.Design.ControlDesigner
        System.Web.UI.Design.WebControls.ButtonDesigner

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ButtonDesigner-Member
System.Web.UI.Design.WebControls-Namespace
Button
ControlDesigner-Klasse

Weitere Ressourcen

Übersicht über ASP.NET-Steuerelement-Designer
Exemplarische Vorgehensweise: Erstellen eines einfachen Steuerelement-Designers für ein Webserver-Steuerelement