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
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: LinkDemand, Berechtigungswert: Minimal
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: InheritanceDemand, Berechtigungswert: Minimal
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