SupportsPreviewControlAttribute Třída

Definice

Určuje, jestli návrhář ovládacích prvků vyžaduje v době návrhu instanci ovládacího prvku ve verzi Preview. Tuto třídu nelze dědit.

public ref class SupportsPreviewControlAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class SupportsPreviewControlAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type SupportsPreviewControlAttribute = class
    inherit Attribute
Public NotInheritable Class SupportsPreviewControlAttribute
Inherits Attribute
Dědičnost
SupportsPreviewControlAttribute
Atributy

Příklady

Následující příklad kódu ukazuje, jak označit návrháře ovládacích prvků atributem SupportsPreviewControlAttribute . Příklad kódu odvozuje ovládací prvek serveru ASP.NET z Label třídy a přidruží ovládací prvek serveru ASP.NET k vlastní implementaci návrháře ovládacích prvků. Deklarace třídy návrháře ovládacích prvků je označena atributem nastaveným SupportsPreviewControl na true. Návrhář ovládacích prvků přepíše metodu GetDesignTimeHtml a uzavře kód HTML návrhu pro ovládací prvek do kurzívy.

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;
using System.Reflection;

namespace ControlDesignerSamples.CS
{
    // Define a simple designer associated with a 
    // simple text web control.
    
    // Mark the designer with the SupportsPreviewControlAttribute set
    // to true.  This means the base.UsePreviewControl returns true,
    // and base.ViewControl returns a temporary preview copy of the control.
    [SupportsPreviewControl(true)]
    public class SimpleTextControlDesigner : TextControlDesigner
    {		
        // Override the base GetDesignTimeHtml method to display 
        // the design time text in italics.
        public override string GetDesignTimeHtml()
        {
            string html = String.Empty;
 
            try
            {
                // Initialize the return string to the default
                // design time html of the base TextControlDesigner.
                html = base.GetDesignTimeHtml();

                // Get the ViewControl for the associated control.
                Label ctrl = (Label)ViewControl;

                ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "Italic");
                html = base.GetDesignTimeHtml();
            }
            catch (System.Exception e)
            {
               if (String.IsNullOrEmpty(html))
               {
                   html = GetErrorDesignTimeHtml(e);
               }
            }
            
            return html;
        }
    }

    // Derive a simple Web control from Label to render a text string.
    // Associate this control with the SimpleTextControlDesigner.
    [DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"),
    ToolboxData("<{0}:MyLabelControl Runat=\"Server\"><{0}:MyLabelControl>")]
    public class MyLabelControl : Label
    {
        // Use the Label control implementation, but associate
        // the derived class with the custom control designer.
    }
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls
Imports System.Reflection

Namespace ControlDesignerSamples.VB

    ' Derive a simple Web control from Label to render a text string.
    ' Associate this control with the SimpleTextControlDesigner.
    <DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"), _
    ToolboxData("<{0}:MyLabelControl Runat=""Server""><{0}:MyLabelControl>")> _
    Public Class MyLabelControl
        Inherits Label

        ' Use the Label control implementation, but associate
        ' the derived class with the custom control designer.
    End Class


    ' Mark the designer with the SupportsPreviewControlAttribute set
    ' to true.  This means the base.UsePreviewControl returns true,
    ' and base.ViewControl returns a temporary preview copy of the control.
    <SupportsPreviewControl(True)> _
    Public Class SimpleTextControlDesigner
        Inherits TextControlDesigner

        ' Override the base GetDesignTimeHtml method to display 
        ' the design time text in italics.
        Public Overrides Function GetDesignTimeHtml() As String
            Dim html As String = String.Empty

            Try
                ' Get the ViewControl for the associated control.
                Dim ctrl As Label = CType(ViewControl, Label)

                ' Set the default text, if necessary
                If ctrl.Text.Length = 0 Then
                    ctrl.Text = "Sample Text"
                End If

                ' Set the style to italic
                ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "italic")

                ' Let the base class create the HTML markup
                html = MyBase.GetDesignTimeHtml()
            Catch ex As Exception
                If String.IsNullOrEmpty(html) Then
                    ' Display the exception message
                    html = GetErrorDesignTimeHtml(ex)
                End If
            End Try

            Return html
        End Function

    End Class
End Namespace

Poznámky

Pomocí atributu SupportsPreviewControlAttribute u třídy návrháře ovládacích prvků označíte typ ovládacího prvku preview, který návrhář ovládacích prvků podporuje. Pomocí tohoto atributu můžete změnit ovládací prvek náhledu pro vykreslování v době návrhu, aniž by to ovlivnilo skutečnou trvalou instanci přidruženého ovládacího prvku.

Obvykle zadáte SupportsPreviewControlAttribute při deklarování vlastní třídy návrháře, která je odvozena z ControlDesigner třídy. Hodnota SupportsPreviewControl vlastnosti atributu SupportsPreviewControlAttribute určuje chování členů UsePreviewControl a ViewControl členů v základní ControlDesigner třídě.

SupportsPreviewControl Nastavte vlastnost taktrue, aby indikovala, že návrhář používá dočasnou kopii přidruženého ovládacího prvku k vygenerování kódu HTML v době návrhu. Změny dočasného ovládacího prvku se neuchovávají.

SupportsPreviewControl Nastavte vlastnost tak, aby false indikovat, že návrhář vrátí instanci ovládacího prvku, konkrétně Component vlastnost, z ViewControl metody. Změny řídicího objektu jsou trvalé.

CalendarDesigner Například třída je označena nastavenou SupportsPreviewControlAttribute na true. Návrhář používá ovládací prvek náhledu s úlohou automatického formátování stylu, která umožňuje uživateli zobrazit náhled různých stylů automatického formátování, které lze použít v kalendáři. Když uživatel vybere různé styly automatického formátování v uživatelském rozhraní, vybrané schéma stylu se použije u ovládacího prvku náhledu. Použití nového stylu u ovládacího prvku náhledu nezmění schéma použité pro instanci Calendar ovládacího prvku v návrháři.

SupportsPreviewControlAttribute Pokud není zadána v deklaraci návrháře ovládacího prvku, ControlDesigner chování je ekvivalentní k určení SupportsPreviewControl jako false.

Poznámka

Třídy návrháře ControlDesigner odvozené z třídy mohou přepsat UsePreviewControl a ViewControl členy a ignorovat SupportsPreviewControlAttribute atribut. Pokud chcete určit očekávané chování ViewControl a UsePreviewControlprojděte si referenční dokumentaci pro odvozenou třídu návrháře ovládacích prvků.

Obecné informace o používání atributů najdete v tématu Přehled atributů a atributy. Další informace o atributech v době návrhu najdete v tématu Atributy a podpora Design-Time.

Konstruktory

SupportsPreviewControlAttribute(Boolean)

Inicializuje novou instanci SupportsPreviewControlAttribute třídy a nastaví počáteční hodnotu SupportsPreviewControl vlastnosti.

Pole

Default

Získá instanci SupportsPreviewControlAttribute třídy, která je nastavena na výchozí hodnotu náhledu. Toto pole je jen ke čtení.

Vlastnosti

SupportsPreviewControl

Získá hodnotu označující, zda návrhář ovládacích prvků vyžaduje dočasný ovládací prvek náhledu v době návrhu.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)

Metody

Equals(Object)

Určuje, zda zadaný objekt představuje stejné nastavení atributu preview jako aktuální instance SupportsPreviewControlAttribute třídy.

GetHashCode()

Vrátí kód hash pro tuto instanci SupportsPreviewControlAttribute třídy.

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IsDefaultAttribute()

Určuje, zda je aktuální instance SupportsPreviewControlAttribute třídy nastavena na výchozí hodnotu atributu Preview.

Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také