LabelDesigner-Klasse
Stellt Entwurfszeitunterstützung in einem visuellen Designer für das Label-Webserversteuerelement bereit.
Namespace: System.Web.UI.Design.WebControls
Assembly: System.Design (in system.design.dll)
Syntax
'Declaration
Public Class LabelDesigner
Inherits TextControlDesigner
'Usage
Dim instance As LabelDesigner
public class LabelDesigner : TextControlDesigner
public ref class LabelDesigner : public TextControlDesigner
public class LabelDesigner extends TextControlDesigner
public class LabelDesigner extends TextControlDesigner
Hinweise
Das Label-Steuerelement ermöglicht das programmgesteuerte Anzeigen von Text auf einer Webseite.
Wenn Sie in einem visuellen Designer von der Quellansicht zur Entwurfsansicht wechseln, wird der Markupquellcode analysiert, der ein Label-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. Die LabelDesigner-Klasse bietet für das Label-Steuerelement Unterstützung zur Entwurfszeit.
Die OnComponentChanged-Methode wird aufgerufen, wenn das zugeordnete Label-Steuerelement geändert wurde.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie das SampleLabel
-Steuerelement vom Label-Steuerelement abgeleitet und ein DesignerAttribute-Attribut auf das SampleLabel
-Steuerelement angewendet wird, um dieses der SampleLabelDesigner
-Klasse zuzuordnen.
Im Codebeispiel wird auch der SampleLabelDesigner
von der LabelDesigner-Klasse abgeleitet. Die GetDesignTimeHtml-Methode wird überschrieben, um die BorderStyle-Eigenschaft auf Dashed festzulegen, wenn der ursprüngliche BorderStyle den Wert NotSet oder den Wert None aufweist. Dies verbessert die Sichtbarkeit des zugeordneten Steuerelements zur Entwurfszeit.
Imports System
Imports System.Web
Imports System.ComponentModel
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.Security.Permissions
Namespace Examples.VB.WebControls.Design
' The SampleLabel is a copy of the Label.
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(Examples.VB.WebControls.Design.SampleLabelDesigner))> _
Public Class SampleLabel
Inherits Label
End Class ' SampleLabel
' Override members of the LabelDesigner.
Public Class SampleLabelDesigner
Inherits LabelDesigner
' Generate the design-time markup.
Public Overrides Function GetDesignTimeHtml() As String
' Make the control more visible in the designer. If the border
' style is None or NotSet, change the border to a dashed line.
Dim sampleLabel As SampleLabel = CType(Component, SampleLabel)
Dim designTimeMarkup As String = Nothing
' Check if the border style should be changed.
If (sampleLabel.BorderStyle = BorderStyle.NotSet Or _
sampleLabel.BorderStyle = BorderStyle.None) Then
Dim oldBorderStyle As BorderStyle = sampleLabel.BorderStyle
Try
' Set the design-time BorderStyle.
sampleLabel.BorderStyle = BorderStyle.Dashed
' Call the base method to generate the markup.
designTimeMarkup = MyBase.GetDesignTimeHtml()
Catch ex As Exception
' If an exception occurs, generate an error message.
designTimeMarkup = GetErrorDesignTimeHtml(ex)
Finally
' Restore the BorderStyle to its original setting.
sampleLabel.BorderStyle = oldBorderStyle
End Try
Else
' Call the base method to generate the markup.
designTimeMarkup = MyBase.GetDesignTimeHtml()
End If
Return designTimeMarkup
End Function ' GetDesignTimeHtml
End Class ' SampleLabelDesigner
End Namespace ' Examples.VB.WebControls.Design
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.ComponentModel;
using System.Security.Permissions;
namespace Examples.CS.WebControls.Design
{
// The SampleLabel is a copy of the Label.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(Examples.CS.WebControls.Design.SampleLabelDesigner))]
public class SampleLabel : Label
{
} // SampleLabel
// Override members of the LabelDesigner.
public class SampleLabelDesigner : LabelDesigner
{
// Generate the design-time markup.
public override string GetDesignTimeHtml()
{
// Make the control more visible in the designer. If the border
// style is None or NotSet, change the border to a dashed line.
SampleLabel sampleLabel = (SampleLabel)Component;
string designTimeMarkup = null;
// Check if the border style should be changed.
if (sampleLabel.BorderStyle == BorderStyle.NotSet ||
sampleLabel.BorderStyle == BorderStyle.None)
{
BorderStyle oldBorderStyle = sampleLabel.BorderStyle;
try
{
// Set the design-time BorderStyle.
sampleLabel.BorderStyle = BorderStyle.Dashed;
// Call the base method to generate the markup.
designTimeMarkup = base.GetDesignTimeHtml();
}
catch (Exception ex)
{
// If an exception occurs, generate an error message.
designTimeMarkup = GetErrorDesignTimeHtml(ex);
}
finally
{
// Restore the BorderStyle to its original setting.
sampleLabel.BorderStyle = oldBorderStyle;
}
}
else
// Call the base method to generate the markup.
designTimeMarkup = base.GetDesignTimeHtml();
return designTimeMarkup;
} // GetDesignTimeHtml
} // SampleLabelDesigner
} // Examples.CS.WebControls.Design
.NET Framework-Sicherheit
- SecurityPermission für den Aufruf von nicht verwaltetem Code. Anforderungswert: Demand. Berechtigungswert: UnmanagedCode
Vererbungshierarchie
System.Object
System.ComponentModel.Design.ComponentDesigner
System.Web.UI.Design.HtmlControlDesigner
System.Web.UI.Design.ControlDesigner
System.Web.UI.Design.TextControlDesigner
System.Web.UI.Design.WebControls.LabelDesigner
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
LabelDesigner-Member
System.Web.UI.Design.WebControls-Namespace
Label
WebControl
BorderStyle
TextControlDesigner-Klasse
ControlDesigner-Klasse
HtmlControlDesigner-Klasse
ComponentDesigner
Weitere Ressourcen
Übersicht über ASP.NET-Steuerelement-Designer
Exemplarische Vorgehensweise: Erstellen eines einfachen Steuerelement-Designers für ein Webserver-Steuerelement