SupportsPreviewControlAttribute SupportsPreviewControlAttribute SupportsPreviewControlAttribute SupportsPreviewControlAttribute Class

Определение

Показывает, требуется ли конструктору элемента управления экземпляр элемента управления для предварительного просмотра во время разработки.Indicates whether a control designer requires a preview instance of the control at design time. Этот класс не наследуется.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
Наследование
SupportsPreviewControlAttributeSupportsPreviewControlAttributeSupportsPreviewControlAttributeSupportsPreviewControlAttribute
Атрибуты

Примеры

В следующем примере кода показано, как пометить конструктора элемента управления с SupportsPreviewControlAttribute атрибута.The following code example demonstrates how to mark a control designer with the SupportsPreviewControlAttribute attribute. В примере является производным серверный элемент управления ASP.NET из Label класса и связывает серверный элемент управления ASP.NET с реализацией конструктора пользовательского элемента управления.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. Объявление класса конструктора элемента управления помечается SupportsPreviewControl атрибут true.The control designer class declaration is marked with the SupportsPreviewControl attribute set to true. Конструктор элемента управления переопределяет GetDesignTimeHtml метод и заключает HTML времени разработки для элемента управления в теги курсивом.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 Microsoft.VisualBasic
Imports System
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

Комментарии

Применить SupportsPreviewControlAttribute атрибут класс конструктора элементов управления для указания типа элемента управления предварительной версии, который поддерживается в конструкторе элемента управления.Apply the SupportsPreviewControlAttribute attribute to a control designer class to indicate the type of preview control that is supported by the control designer. Этот атрибут используется для изменения элемент управления предварительного просмотра для подготовки к просмотру во время разработки, не влияя на фактический сохраненный экземпляр сопоставленного элемента управления.Use this attribute to change a preview control for design-time rendering without affecting the actual persisted instance of the associated control.

Обычно можно задать SupportsPreviewControlAttribute при объявлении пользовательский класс конструктора, который является производным от ControlDesigner класса.Typically, you specify the SupportsPreviewControlAttribute when declaring a custom designer class that is derived from the ControlDesigner class. Значение SupportsPreviewControl свойство для SupportsPreviewControlAttribute атрибута определяет поведение для UsePreviewControl и ViewControl членов в базовом 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.

Задайте SupportsPreviewControl свойства true для указания, что конструктор использует временную копию связанного элемента управления для формирования разметки HTML времени разработки.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. Изменения временного элемента управления не сохраняются.Changes to the temporary control are not persisted.

Задайте SupportsPreviewControl свойства false для указания, что конструктор возвращает экземпляр элемента управления, в частности Component свойство, из ViewControl метод.Set the SupportsPreviewControl property to false to indicate that the designer returns the control instance, specifically the Component property, from the ViewControl method. Сохраняются изменения в объекте элемента управления.Changes to the control object are persisted.

Например CalendarDesigner класс, помеченный с SupportsPreviewControlAttribute присвоено true.For example, the CalendarDesigner class is marked with the SupportsPreviewControlAttribute set to true. Конструктор использует элемент управления предварительного просмотра с помощью автоматического стиль форматирования задачу, которая позволяет пользователю просмотреть различные stylesthat Автоформат могут быть применены к календарю.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. Пользователь выбирает различных стилей в пользовательском интерфейсе, выбранная схема стилей применяется к элементу управления предварительной версии.As the user selects different autoformat styles in the user interface, the selected style scheme is applied to the preview control. Применение нового стиля к элементу управления предварительной версии не изменяет схему, которая применяется к экземпляру Calendar управления в конструкторе.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.

Если SupportsPreviewControlAttribute не указан в объявлении конструктора элемента управления, ControlDesigner поведение эквивалентно SupportsPreviewControl как false.If the SupportsPreviewControlAttribute is not specified in the control designer declaration, the ControlDesigner behavior is equivalent to specifying the SupportsPreviewControl as false.

Примечание

Конструктора классов, производных от ControlDesigner класс может переопределить UsePreviewControl и ViewControl члены и игнорировать SupportsPreviewControlAttribute атрибута.Designer classes derived from the ControlDesigner class can override the UsePreviewControl and ViewControl members, and ignore the SupportsPreviewControlAttribute attribute. Чтобы определить ожидаемое поведение для ViewControl и UsePreviewControl, см. в справочной документации по классу конструктора производного элемента управления.To determine the expected behavior for ViewControl and UsePreviewControl, see the reference documentation for the derived control designer class.

Общие сведения об использовании атрибутов см. в разделе Обзор атрибутов и атрибуты.For general information about using attributes, see Attributes Overview and Attributes. Дополнительные сведения о атрибуты времени разработки, см. в разделе атрибуты и Design-Time Support.For more information about design-time attributes, see Attributes and Design-Time Support.

Конструкторы

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

Инициализирует новый экземпляр класса SupportsPreviewControlAttribute и устанавливает начальное значение свойства SupportsPreviewControl.Initializes a new instance of the SupportsPreviewControlAttribute class and sets the initial value of the SupportsPreviewControl property.

Поля

Default Default Default Default

Возвращает экземпляр класса SupportsPreviewControlAttribute, для которого установлено значение предварительного просмотра по умолчанию.Gets an instance of the SupportsPreviewControlAttribute class that is set to the default preview value. Это поле доступно только для чтения.This field is read-only.

Свойства

SupportsPreviewControl SupportsPreviewControl SupportsPreviewControl SupportsPreviewControl

Возвращает значение, показывающее, требуется ли для конструктора элемента управления временный элемент управления для предварительного просмотра во время разработки.Gets a value indicating whether the control designer requires a temporary preview control at design time.

TypeId TypeId TypeId TypeId

При реализации в производном классе возвращает уникальный идентификатор для этого Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Методы

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

Определяет, представляет ли заданный объект то же самое значение атрибута предварительного просмотра, что и текущий экземпляр класса SupportsPreviewControlAttribute.Determines whether the specified object represents the same preview attribute setting as the current instance of the SupportsPreviewControlAttribute class.

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

Возвращает хэш-код для этого экземпляра класса SupportsPreviewControlAttribute.Returns the hash code for this instance of the SupportsPreviewControlAttribute class.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Показывает, установлено ли для текущего экземпляра класса SupportsPreviewControlAttribute значение атрибута предварительного просмотра по умолчанию.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)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.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()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

_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)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.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)

Возвращает сведения о типе объекта, которые могут использоваться для получения сведений о типе интерфейса.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)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 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)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Применяется к

Дополнительно