Freigeben über


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

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