SupportsPreviewControlAttribute SupportsPreviewControlAttribute SupportsPreviewControlAttribute SupportsPreviewControlAttribute Class

Definizione

Indica se per la finestra di progettazione del controllo è necessaria un'istanza di anteprima del controllo in fase di progettazione.Indicates whether a control designer requires a preview instance of the control at design time. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class SupportsPreviewControlAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class SupportsPreviewControlAttribute : Attribute
type SupportsPreviewControlAttribute = class
    inherit Attribute
Public NotInheritable Class SupportsPreviewControlAttribute
Inherits Attribute
Ereditarietà
SupportsPreviewControlAttributeSupportsPreviewControlAttributeSupportsPreviewControlAttributeSupportsPreviewControlAttribute
Attributi

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come contrassegnare una SupportsPreviewControlAttribute finestra di progettazione di controlli con l'attributo.The following code example demonstrates how to mark a control designer with the SupportsPreviewControlAttribute attribute. L'esempio di codice deriva un controllo server ASP.NET dalla Label classe e associa il controllo server ASP.NET a un'implementazione della finestra di progettazione del controllo personalizzata.The code example derives an ASP.NET server control from the Label class and associates the ASP.NET server control with a custom control designer implementation. La dichiarazione di classe della finestra di progettazione del SupportsPreviewControl controllo è contrassegnata con l'attributo impostato su. trueThe control designer class declaration is marked with the SupportsPreviewControl attribute set to true. La finestra di progettazione controlli GetDesignTimeHtml esegue l'override del metodo e racchiude il codice HTML della fase di progettazione per il controllo in tag Italic.The control designer overrides the GetDesignTimeHtml method and encloses the design-time HTML for the control in italic tags.

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

Commenti

Applicare l' SupportsPreviewControlAttribute attributo a una classe della finestra di progettazione di controlli per indicare il tipo di controllo di anteprima supportato dalla finestra di progettazione controlli.Apply the SupportsPreviewControlAttribute attribute to a control designer class to indicate the type of preview control that is supported by the control designer. Utilizzare questo attributo per modificare un controllo anteprima per il rendering in fase di progettazione senza influire sull'istanza effettiva permanente del controllo associato.Use this attribute to change a preview control for design-time rendering without affecting the actual persisted instance of the associated control.

In genere, si specifica SupportsPreviewControlAttribute quando si dichiara una classe della finestra di progettazione personalizzata derivata ControlDesigner dalla classe.Typically, you specify the SupportsPreviewControlAttribute when declaring a custom designer class that is derived from the ControlDesigner class. SupportsPreviewControl Il valore della proprietà per l' UsePreviewControl SupportsPreviewControlAttribute attributo determina il comportamento per i membri e ViewControl nella classe di base ControlDesigner .The value of the SupportsPreviewControl property for the SupportsPreviewControlAttribute attribute determines the behavior for the UsePreviewControl and ViewControl members in the base ControlDesigner class.

Impostare la SupportsPreviewControl proprietà su true per indicare che la finestra di progettazione utilizza una copia temporanea del controllo associato per generare il codice HTML della fase di progettazione.Set the SupportsPreviewControl property to true to indicate that the designer uses a temporary copy of the associated control to generate the design-time HTML. Le modifiche apportate al controllo temporaneo non vengono rese permanente.Changes to the temporary control are not persisted.

Impostare la SupportsPreviewControl proprietà su false per indicare che la finestra di progettazione restituisce l'istanza del controllo Component , in particolare ViewControl la proprietà, dal metodo.Set the SupportsPreviewControl property to false to indicate that the designer returns the control instance, specifically the Component property, from the ViewControl method. Le modifiche apportate all'oggetto controllo sono rese permanente.Changes to the control object are persisted.

La CalendarDesigner classe, ad esempio, è contrassegnata SupportsPreviewControlAttribute con l' trueoggetto impostato su.For example, the CalendarDesigner class is marked with the SupportsPreviewControlAttribute set to true. La finestra di progettazione USA il controllo anteprima con l'attività di formattazione automatica dello stile, che consente all'utente di visualizzare in anteprima diversi stylesthat di formattazione automatica può essere applicato al calendario.The designer uses the preview control with the automatic style formatting task, which allows the user to preview various autoformat stylesthat can be applied to the calendar. Quando l'utente seleziona stili di formattazione automatica diversi nell'interfaccia utente, lo schema di stile selezionato viene applicato al controllo di anteprima.As the user selects different autoformat styles in the user interface, the selected style scheme is applied to the preview control. L'applicazione di un nuovo stile al controllo di anteprima non comporta la modifica dello schema applicato all'istanza del Calendar controllo nella finestra di progettazione.Applying a new style to the preview control does not change the scheme that is applied to the instance of the Calendar control in the designer.

Se non ControlDesigner SupportsPreviewControl falseè specificato nella dichiarazione di progettazione controlli, il comportamento equivale a specificare come. SupportsPreviewControlAttributeIf the SupportsPreviewControlAttribute is not specified in the control designer declaration, the ControlDesigner behavior is equivalent to specifying the SupportsPreviewControl as false.

Nota

Le classi della finestra di ControlDesigner progettazione derivate UsePreviewControl dalla classe possono eseguire l'override SupportsPreviewControlAttribute dei membri e ViewControl e ignorare l'attributo.Designer classes derived from the ControlDesigner class can override the UsePreviewControl and ViewControl members, and ignore the SupportsPreviewControlAttribute attribute. Per determinare il comportamento previsto per ViewControl e UsePreviewControl, vedere la documentazione di riferimento per la classe della finestra di progettazione di controlli derivata.To determine the expected behavior for ViewControl and UsePreviewControl, see the reference documentation for the derived control designer class.

Per informazioni generali sull'uso degli attributi, vedere Cenni preliminari sugli attributi e attributi.For general information about using attributes, see Attributes Overview and Attributes. Per ulteriori informazioni sugli attributi in fase di progettazione, vedere attributi e supporto della fase di progettazione.For more information about design-time attributes, see Attributes and Design-Time Support.

Costruttori

SupportsPreviewControlAttribute(Boolean) SupportsPreviewControlAttribute(Boolean) SupportsPreviewControlAttribute(Boolean) SupportsPreviewControlAttribute(Boolean)

Inizializza una nuova istanza della classe SupportsPreviewControlAttribute e imposta il valore iniziale della proprietà SupportsPreviewControl.Initializes a new instance of the SupportsPreviewControlAttribute class and sets the initial value of the SupportsPreviewControl property.

Campi

Default Default Default Default

Ottiene un'istanza della classe SupportsPreviewControlAttribute impostata sul valore di anteprima predefinito.Gets an instance of the SupportsPreviewControlAttribute class that is set to the default preview value. Questo campo è di sola lettura.This field is read-only.

Proprietà

SupportsPreviewControl SupportsPreviewControl SupportsPreviewControl SupportsPreviewControl

Ottiene il valore che indica se per la finestra di progettazione del controllo è necessario un controllo di anteprima temporaneo in fase di progettazione.Gets a value indicating whether the control designer requires a temporary preview control at design time.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato rappresenta la stessa impostazione dell'attributo di anteprima dell'istanza corrente della classe SupportsPreviewControlAttribute.Determines whether the specified object represents the same preview attribute setting as the current instance of the SupportsPreviewControlAttribute class.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Viene restituito il codice hash per questa istanza della classe SupportsPreviewControlAttribute.Returns the hash code for this instance of the SupportsPreviewControlAttribute class.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Indica se l'istanza corrente della classe SupportsPreviewControlAttribute è impostata sul valore predefinito dell'attributo di anteprima.Indicates whether the current instance of the SupportsPreviewControlAttribute class is set to the default preview attribute value.

Match(Object) Match(Object) Match(Object) Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a

Vedi anche