Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe ControlDesigner

 

Fornece uma classe de designer de controle base para estender o comportamento do modo de design de um controle de servidor Web.

Namespace:   System.Web.UI.Design
Assembly:  System.Design (em System.Design.dll)

System.Object
  System.ComponentModel.Design.ComponentDesigner
    System.Web.UI.Design.HtmlControlDesigner
      System.Web.UI.Design.ControlDesigner
        System.Web.DynamicData.Design.DynamicDataManagerDesigner
        System.Web.UI.Design.ContainerControlDesigner
        System.Web.UI.Design.DataSourceDesigner
        System.Web.UI.Design.ExtenderControlDesigner
        System.Web.UI.Design.HierarchicalDataSourceDesigner
        System.Web.UI.Design.QueryExtenderDesigner
        System.Web.UI.Design.ReadWriteControlDesigner
        System.Web.UI.Design.ScriptManagerDesigner
        System.Web.UI.Design.ScriptManagerProxyDesigner
        System.Web.UI.Design.TemplatedControlDesigner
        System.Web.UI.Design.TextControlDesigner
        System.Web.UI.Design.TimerDesigner
        System.Web.UI.Design.UpdatePanelDesigner
        System.Web.UI.Design.UpdateProgressDesigner
        System.Web.UI.Design.UserControlDesigner
        System.Web.UI.Design.WebControls.BaseDataBoundControlDesigner
        System.Web.UI.Design.WebControls.ButtonDesigner
        System.Web.UI.Design.WebControls.CalendarDesigner
        System.Web.UI.Design.WebControls.ChangePasswordDesigner
        System.Web.UI.Design.WebControls.CheckBoxDesigner
        System.Web.UI.Design.WebControls.CompositeControlDesigner
        System.Web.UI.Design.WebControls.ContentDesigner
        System.Web.UI.Design.WebControls.ContentPlaceHolderDesigner
        System.Web.UI.Design.WebControls.DataPagerDesigner
        System.Web.UI.Design.WebControls.HiddenFieldDesigner
        System.Web.UI.Design.WebControls.LiteralDesigner
        System.Web.UI.Design.WebControls.LoginNameDesigner
        System.Web.UI.Design.WebControls.LoginViewDesigner
        System.Web.UI.Design.WebControls.PasswordRecoveryDesigner
        System.Web.UI.Design.WebControls.PreviewControlDesigner
        System.Web.UI.Design.WebControls.RepeaterDesigner
        System.Web.UI.Design.WebControls.SiteMapPathDesigner
        System.Web.UI.Design.WebControls.SubstitutionDesigner
        System.Web.UI.Design.WebControls.TableDesigner
        System.Web.UI.Design.WebControls.WebParts.ProxyWebPartManagerDesigner
        System.Web.UI.Design.WebControls.WebParts.WebPartManagerDesigner
        System.Web.UI.Design.WebControls.WebParts.WebZoneDesigner
        System.Web.UI.Design.WebControls.XmlDesigner

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public class ControlDesigner : HtmlControlDesigner

NomeDescrição
System_CAPS_pubmethodControlDesigner()

Inicializa uma nova instância da classe ControlDesigner.

NomeDescrição
System_CAPS_pubpropertyActionLists

Obtém a coleção de lista de ação para o designer de controle.(Substitui o ComponentDesigner.ActionLists.)

System_CAPS_pubpropertyAllowResize

Obtém um valor que indica se o controle pode ser redimensionado no ambiente de tempo de design.

System_CAPS_pubpropertyAssociatedComponents

Obtém a coleção de componentes associado ao componente gerenciado pelo designer.(Herdado de ComponentDesigner.)

System_CAPS_pubpropertyAutoFormats

Obtém a coleção de automático predefinida formatação esquemas para exibir o AutoFormatação caixa de diálogo para o controle associado em tempo de design.

System_CAPS_pubpropertyBehavior

Obsoleto. Obtém ou define o comportamento DHTML associado com o designer.(Herdado de HtmlControlDesigner.)

System_CAPS_pubpropertyComponent

Obtém o componente que está criando esse designer.(Herdado de ComponentDesigner.)

System_CAPS_pubpropertyDataBindings

Obtém a coleção de ligações de dados para o controle atual.(Herdado de HtmlControlDesigner.)

System_CAPS_protpropertyDataBindingsEnabled

Obtém um valor que indica se a associação de dados é suportada pela região que contém o controle associado.

System_CAPS_protpropertyDesignerState

Obtém um objeto que é usado para persistir os dados para o controle associado em tempo de design.

System_CAPS_protpropertyDesignTimeElement

Obsoleto. Obtém o objeto de tempo de design que representa o controle que está associado com o HtmlControlDesigner objeto na superfície de design.(Herdado de HtmlControlDesigner.)

System_CAPS_protpropertyDesignTimeElementView

Obsoleto. Obtém o objeto de controle de exibição do designer de controle.

System_CAPS_pubpropertyDesignTimeHtmlRequiresLoadComplete

Obsoleto. Obtém um valor que indica se o host de design deve concluir o carregamento antes do GetDesignTimeHtml método pode ser chamado.

System_CAPS_pubpropertyExpressions

Obtém as associações de expressão para o controle atual em tempo de design.(Herdado de HtmlControlDesigner.)

System_CAPS_protpropertyHidePropertiesInTemplateMode

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém um valor que indica se as propriedades do controle associado estão oculto quando o controle está no modo de modelo.

System_CAPS_pubpropertyID

Obtém ou define a cadeia de caracteres de identificação para o controle.

System_CAPS_protpropertyInheritanceAttribute

Obtém um atributo que indica o tipo de herança do componente associado.(Herdado de ComponentDesigner.)

System_CAPS_protpropertyInherited

Obtém um valor que indica se este componente é herdado.(Herdado de ComponentDesigner.)

System_CAPS_protpropertyInTemplateMode

Obtém um valor que indica se o controle está em um modelo de exibição ou edição do modo no host do design. O InTemplateMode propriedade é somente leitura.

System_CAPS_pubpropertyIsDirty

Obsoleto. Obtém ou define um valor que indica se o controle de servidor Web foi marcado como alterada.

System_CAPS_protpropertyParentComponent

Obtém o componente pai para este designer.(Herdado de ComponentDesigner.)

System_CAPS_pubpropertyReadOnly

Obsoleto. Obtém ou define um valor que indica se as propriedades do controle são somente leitura em tempo de design.

System_CAPS_protpropertyRootDesigner

Obtém o designer de controle para a página de Web Forms que contém o controle associado.

System_CAPS_protpropertyShadowProperties

Obtém uma coleção de valores de propriedade que substituem as configurações do usuário.(Herdado de ComponentDesigner.)

System_CAPS_pubpropertyShouldCodeSerialize

Obsoleto. Obtém ou define um valor que indica se deve criar uma declaração de campo para o controle no arquivo code-behind para o documento de design atual durante a serialização.(Herdado de HtmlControlDesigner.)

System_CAPS_protpropertyTag

Obtém um objeto que representa o elemento de marcação HTML para o controle associado.

System_CAPS_pubpropertyTemplateGroups

Obtém uma coleção de grupos de modelos, cada um contendo uma ou mais definições de modelo.

System_CAPS_protpropertyUsePreviewControl

Obtém um valor que indica se o designer de controle usa um controle de visualização temporárias para gerar marcação HTML em tempo de design.

System_CAPS_pubpropertyVerbs

Obtém os verbos de tempo de design com suporte pelo componente que está associado com o designer.(Herdado de ComponentDesigner.)

System_CAPS_pubpropertyViewControl

Obtém ou define um controle de servidor Web que pode ser usado para visualizar a marcação HTML em tempo de design.

System_CAPS_pubpropertyViewControlCreated

Obtém ou define um valor que indica se um View controle foi criado para exibição na superfície de design.

System_CAPS_protpropertyVisible

Obtém um valor que indica se o controle está visível em tempo de design.

NomeDescrição
System_CAPS_protmethodCreateErrorDesignTimeHtml(String)

Cria a marcação HTML para exibir uma mensagem de erro especificada em tempo de design.

System_CAPS_protmethodCreateErrorDesignTimeHtml(String, Exception)

Cria a marcação HTML para exibir uma mensagem de erro de exceção especificada em tempo de design.

System_CAPS_protmethodCreatePlaceHolderDesignTimeHtml()

Fornece uma representação de espaço reservado de retangular simples que exibe o tipo e a ID do controle.

System_CAPS_protmethodCreatePlaceHolderDesignTimeHtml(String)

Fornece uma representação de espaço reservado de retangular simples que exibe o tipo e a ID do controle e também instruções especificadas adicionais ou informações.

System_CAPS_protmethodCreateViewControl()

Retorna uma cópia do controle associado para exibição ou renderização na superfície de design.

System_CAPS_pubmethodDispose()

Libera todos os recursos usados pelo ComponentDesigner.(Herdado de ComponentDesigner.)

System_CAPS_protmethodDispose(Boolean)

Libera os recursos não gerenciados usados pelo HtmlControlDesigner de objeto e, opcionalmente, libera os recursos gerenciados.(Herdado de HtmlControlDesigner.)

System_CAPS_pubmethodDoDefaultAction()

Cria uma assinatura do método no arquivo de código fonte para o evento padrão no componente e navega cursor do usuário para esse local.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Tenta liberar recursos chamando Dispose(false) antes que o objeto seja recuperado pela coleta de lixo.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodGetBounds()

Recupera as coordenadas do retângulo que representa os limites do controle, como exibido na superfície de design.

System_CAPS_pubmethodGetDesignTimeHtml()

Recupera a marcação HTML que é usada para representar o controle em tempo de design.

System_CAPS_pubmethodGetDesignTimeHtml(DesignerRegionCollection)

Recupera a marcação HTML para exibir o controle e preenche a coleção com as regiões de designer de controle atual.

System_CAPS_pubmethodSystem_CAPS_staticGetDesignTimeResourceProviderFactory(IServiceProvider)

Retorna um alocador de provedores de recursos apropriado, dependendo das configurações de globalização no arquivo de configuração para o site.

System_CAPS_pubmethodGetEditableDesignerRegionContent(EditableDesignerRegion)

Retorna o conteúdo de uma região editável do modo de exibição de tempo de design do controle associado.

System_CAPS_protmethodGetEmptyDesignTimeHtml()

Recupera a marcação HTML para representar um controle de servidor Web em tempo de design que não terão nenhuma representação visual em tempo de execução.

System_CAPS_protmethodGetErrorDesignTimeHtml(Exception)

Recupera a marcação HTML que fornece informações sobre a exceção especificada.

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetPersistenceContent()

Recupera a marcação HTML interna persistente do controle em tempo de design.

System_CAPS_pubmethodGetPersistInnerHtml()

Obsoleto. Recupera a marcação HTML interna persistente do controle.

System_CAPS_protmethodGetService(Type)

Tenta recuperar o tipo de serviço especificado do site no modo de design do componente do designer.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodGetViewRendering()

Recupera um objeto que contém a marcação de tempo de design para o conteúdo e as regiões do controle associado.

System_CAPS_pubmethodSystem_CAPS_staticGetViewRendering(Control)

Recupera um objeto que contém a marcação de tempo de design para o conteúdo e as regiões do controle especificado.

System_CAPS_pubmethodSystem_CAPS_staticGetViewRendering(ControlDesigner)

Recupera um objeto que contém a marcação de tempo de design para o conteúdo e as regiões do controle associado para o designer do controle especificado.

System_CAPS_pubmethodInitialize(IComponent)

Inicializa o designer de controle e carrega o componente especificado.(Substitui o HtmlControlDesigner.Initialize(IComponent).)

System_CAPS_pubmethodInitializeExistingComponent(IDictionary)

Reinicializa um componente existente.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodInitializeNewComponent(IDictionary)

Inicializa um componente recém-criado.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodInitializeNonDefault()

Obsoleto. Inicializa as configurações para um componente importado que já esteja inicializado para configurações que não seja os padrões.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodInvalidate()

Invalida toda a área do controle que é exibido na superfície de design e sinaliza o designer de controle para redesenhar o controle.

System_CAPS_pubmethodInvalidate(Rectangle)

Invalida a área especificada do controle que é exibido na superfície de design e sinaliza o designer de controle para redesenhar o controle.

System_CAPS_protmethodInvokeGetInheritanceAttribute(ComponentDesigner)

Obtém o InheritanceAttribute especificado ComponentDesigner.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodSystem_CAPS_staticInvokeTransactedChange(IComponent, TransactedChangeCallback, Object, String)

Encapsula uma série de alterações em uma transação, usando os parâmetros especificados que podem ser revertidos como uma unidade com a funcionalidade de desfazer do host de design.

System_CAPS_pubmethodSystem_CAPS_staticInvokeTransactedChange(IComponent, TransactedChangeCallback, Object, String, MemberDescriptor)

Encapsula uma série de alterações em uma transação, usando os parâmetros especificados que podem ser revertidos como uma unidade com a funcionalidade de desfazer do host de design.

System_CAPS_pubmethodSystem_CAPS_staticInvokeTransactedChange(IServiceProvider, IComponent, TransactedChangeCallback, Object, String, MemberDescriptor)

Encapsula uma série de alterações em uma transação, usando os parâmetros especificados que podem ser revertidos como uma unidade com a funcionalidade de desfazer do host de design.

System_CAPS_pubmethodIsPropertyBound(String)

Obsoleto. Recupera um valor que indica se a propriedade especificada do controle associado está ligado a dados.

System_CAPS_pubmethodLocalize(IDesignTimeResourceWriter)

Usa o gravador de recurso fornecido para persistir as propriedades localizáveis do controle associado a um recurso no host do design.

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethodOnAutoFormatApplied(DesignerAutoFormat)

Chamado quando um esquema de formatação predefinido, automático foi aplicado para o controle associado.

System_CAPS_protmethodOnBehaviorAttached()

Obsoleto. Chamado quando um comportamento está associado ao elemento.(Herdado de HtmlControlDesigner.)

System_CAPS_protmethodOnBehaviorDetaching()

Obsoleto. Chamado quando um comportamento desassocia do elemento.(Herdado de HtmlControlDesigner.)

System_CAPS_protmethodOnBindingsCollectionChanged(String)

Obsoleto. Chamado quando a coleção de ligação de dados é alterada.(Substitui o HtmlControlDesigner.OnBindingsCollectionChanged(String).)

System_CAPS_protmethodOnClick(DesignerRegionMouseEventArgs)

Chamado pelo host de design, quando o usuário clica no controle associado em tempo de design.

System_CAPS_pubmethodOnComponentChanged(Object, ComponentChangedEventArgs)

Chamado quando o controle associado é alterado.

System_CAPS_pubmethodOnComponentChanging(Object, ComponentChangingEventArgs)

Representa o método que manipulará o ComponentChanging evento para o controle associado.

System_CAPS_protmethodOnControlResize()

Obsoleto. Chamado quando o controle de servidor Web associado foi redimensionado no host do design em tempo de design.

System_CAPS_protmethodOnPaint(PaintEventArgs)

Chamado quando o designer de controle desenha o controle associado na superfície de design, se o CustomPaint valor é true.

System_CAPS_pubmethodOnSetComponentDefaults()

Obsoleto. Define as propriedades padrão para o componente.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodOnSetParent()

Fornece uma maneira de realizar processamento adicional quando o controle associado é anexado a um controle pai.(Herdado de HtmlControlDesigner.)

System_CAPS_protmethodPostFilterAttributes(IDictionary)

Permite que um designer alterar ou remover itens do conjunto de atributos que ele expõe por meio de um TypeDescriptor.(Herdado de ComponentDesigner.)

System_CAPS_protmethodPostFilterEvents(IDictionary)

Permite que um designer alterar ou remover itens do conjunto de eventos que ele expõe por meio de um TypeDescriptor.(Herdado de ComponentDesigner.)

System_CAPS_protmethodPostFilterProperties(IDictionary)

Permite que um designer alterar ou remover itens do conjunto de propriedades que ele expõe por meio de um TypeDescriptor.(Herdado de ComponentDesigner.)

System_CAPS_protmethodPreFilterAttributes(IDictionary)

Permite que um designer adicionar ao conjunto de atributos que ele expõe por meio de um TypeDescriptor.(Herdado de ComponentDesigner.)

System_CAPS_protmethodPreFilterEvents(IDictionary)

Define a lista de eventos que são expostos em tempo de design para o TypeDescriptor objeto para o componente.(Herdado de HtmlControlDesigner.)

System_CAPS_protmethodPreFilterProperties(IDictionary)

Adiciona propriedades remove propriedades da grade de propriedades em um host de design em tempo de design ou fornece novas propriedades de tempo de design que podem corresponder às propriedades do controle associado.(Substitui o HtmlControlDesigner.PreFilterProperties(IDictionary).)

System_CAPS_protmethodRaiseComponentChanged(MemberDescriptor, Object, Object)

Notifica o IComponentChangeService que este componente foi alterado.(Herdado de ComponentDesigner.)

System_CAPS_protmethodRaiseComponentChanging(MemberDescriptor)

Notifica o IComponentChangeService que esse componente está prestes a ser alterada.(Herdado de ComponentDesigner.)

System_CAPS_pubmethodRaiseResizeEvent()

Obsoleto. Gera o OnControlResize evento.

System_CAPS_pubmethodRegisterClone(Object, Object)

Registra os dados internos em um controle clonado.

System_CAPS_pubmethodSetEditableDesignerRegionContent(EditableDesignerRegion, String)

Especifica o conteúdo de uma região editável do controle em tempo de design.

System_CAPS_protmethodSetRegionContent(EditableDesignerRegion, String)

Especifica o conteúdo de uma região editável no modo de exibição de tempo de design do controle.

System_CAPS_protmethodSetViewFlags(ViewFlags, Boolean)

Atribui especificado bit a bit ViewFlags enumeração para o valor do sinalizador especificado.

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

System_CAPS_pubmethodUpdateDesignTimeHtml()

Atualiza a marcação HTML em tempo de design para o controle de servidor Web associado ao chamar o GetDesignTimeHtml método.

NomeDescrição
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PostFilterAttributes(IDictionary)

Para obter uma descrição desse membro, consulte o IDesignerFilter.PostFilterAttributes método.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PostFilterEvents(IDictionary)

Para obter uma descrição desse membro, consulte o IDesignerFilter.PostFilterEvents método.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PostFilterProperties(IDictionary)

Para obter uma descrição desse membro, consulte o IDesignerFilter.PostFilterProperties método.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PreFilterAttributes(IDictionary)

Para obter uma descrição desse membro, consulte o IDesignerFilter.PreFilterAttributes método.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PreFilterEvents(IDictionary)

Para obter uma descrição desse membro, consulte o IDesignerFilter.PreFilterEvents método.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PreFilterProperties(IDictionary)

Para obter uma descrição desse membro, consulte o IDesignerFilter.PreFilterProperties método.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyITreeDesigner.Children

Para obter uma descrição desse membro, consulte o ITreeDesigner.Children propriedade.(Herdado de ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyITreeDesigner.Parent

Para obter uma descrição desse membro, consulte o ITreeDesigner.Parent propriedade.(Herdado de ComponentDesigner.)

The T:System.Web.UI.Design.ControlDesigner class provides a base control designer class that can be inherited from and extended to provide design-time support for a Web server control in a design host, such as vsprvslong.

The object model for working with design-time rendering is improved over earlier versions, with the following new base classes to provide access to the simplified object model:

You can create a variety of automatic and pre-defined formats that can simplify the process of page developers who are applying complex style changes to custom Web server controls. For example, the T:System.Web.UI.Design.WebControls.TableDesigner control, which derives from the T:System.Web.UI.Design.ControlDesigner class, provides many automatic formats from which to choose. To implement and provide automatic formatting in your custom controls, use the following features:

  • The P:System.Web.UI.Design.ControlDesigner.AutoFormats property.

  • The M:System.Web.UI.Design.ControlDesigner.OnAutoFormatApplied(System.Web.UI.Design.DesignerAutoFormat) method.

  • The T:System.Web.UI.Design.DesignerAutoFormat class.

  • The T:System.Web.UI.Design.DesignerAutoFormatStyle class.

Action lists are menus of important or widely used tasks that a page developer who uses a control can perform in a design-time user interface (UI), such as vsprvslong. For example, the design-time view of your control could provide a menu of available tasks. This includes a task to format the control automatically. To learn about action lists, start with the following features:

  • The P:System.Web.UI.Design.ControlDesigner.ActionLists property.

  • The T:System.ComponentModel.Design.DesignerActionList class.

  • The M:System.ComponentModel.Design.DesignerActionList.GetSortedActionItems method.

  • The T:System.ComponentModel.Design.DesignerActionListCollection class.

  • The T:System.ComponentModel.Design.DesignerActionMethodItem class.

  • The T:System.ComponentModel.Design.DesignerActionPropertyItem class.

Regions are editable areas in the design-time view of a Web server control. This feature offers WYSIWYG-like editing of the template content, inner controls, and properties at design time. You can have the control designer create controls in regions or you can use the Toolbox to drag and drop controls into regions. Regions are managed with the following features:

  • The M:System.Web.UI.Design.ControlDesigner.OnClick(System.Web.UI.Design.DesignerRegionMouseEventArgs) method.

  • The T:System.Web.UI.Design.DesignerRegion class.

  • The T:System.Web.UI.Design.EditableDesignerRegion class.

  • The M:System.Web.UI.Design.ControlDesigner.GetEditableDesignerRegionContent(System.Web.UI.Design.EditableDesignerRegion) method.

  • The M:System.Web.UI.Design.ControlDesigner.SetEditableDesignerRegionContent(System.Web.UI.Design.EditableDesignerRegion,System.String) method.

The model for creating a UI for design-time editing of templated controls, such as the T:System.Web.UI.WebControls.GridView control, has been greatly improved from earlier versions. You can create complex custom controls that include templates for various parts of the control, and your custom control designer can help page developers who are modifying templates with the following features:

  • The P:System.Web.UI.Design.ControlDesigner.TemplateGroups property.

  • The P:System.Web.UI.Design.ControlDesigner.InTemplateMode property.

  • The T:System.Web.UI.Design.TemplateGroup class.

The T:System.Web.UI.Design.ControlDesigner class has the following methods to support design-time rendering of the Web server control. Most of these methods are the same as in earlier versions:

  • The Overload:System.Web.UI.Design.ControlDesigner.GetDesignTimeHtml method.

  • The M:System.Web.UI.Design.ControlDesigner.GetEmptyDesignTimeHtml method.

  • The M:System.Web.UI.Design.ControlDesigner.GetErrorDesignTimeHtml(System.Exception) method.

  • The M:System.Web.UI.Design.ControlDesigner.UpdateDesignTimeHtml method.

  • The Overload:System.Web.UI.Design.ControlDesigner.CreatePlaceHolderDesignTimeHtml method.

The following code example demonstrates how to create a simple designer class that derives from the T:System.Web.UI.Design.ControlDesigner class. This control designer supports a custom TextControl class and provides a command to change the text size of a control at design time. The control designer is associated with the control by specifying the control designer in a T:System.ComponentModel.DesignerAttribute object declaration on the TextControl class. The key to persisting property changes from the control designer to the HTML markup is found in the ToggleTextSize method of the custom ActionList class.

To try the example, add a reference to the System.Design.dll assembly and compile the code.

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

namespace ASPNet.Design.Samples.CS
{
    // Simple text Web control renders a text string.
    // This control is associated with the TextSizeWebControlDesigner.
    [DesignerAttribute(typeof(TextSizeWebControlDesigner)),
    ToolboxData("<{0}:TextControl runat=\"server\"></{0}:TextControl>")]
    public class TextControl : Label
    {
        private bool _largeText = true;

        // Constructor
        public TextControl()
        {
            Text = "Test Phrase";
            SetSize();
        }

        // Determines whether the text is large or small
        [Bindable(true), Category("Appearance"), DefaultValue("true")]
        public bool LargeText
        {
            get { return _largeText; }
            set
            {
                _largeText = value;
                SetSize();
            }
        }

        // Applies the LargeText property to the control
        private void SetSize()
        {
            if (LargeText)
                this.Font.Size = FontUnit.XLarge;
            else
                this.Font.Size = FontUnit.Small;
        }
    }

    // This control designer offers DesignerActionList commands
    // that can alter the design time html of the associated control.
    public class TextSizeWebControlDesigner : ControlDesigner
    {
        private DesignerActionListCollection _actionLists = null;

        // Do not allow direct resizing of the control
        public override bool AllowResize
        {
            get { return false; }
        }

        // Return a custom ActionList collection
        public override DesignerActionListCollection ActionLists
        {
            get
            {
                if (_actionLists == null)
                {
                    _actionLists = new DesignerActionListCollection();
                    _actionLists.AddRange(base.ActionLists);

                    // Add a custom DesignerActionList
                    _actionLists.Add(new ActionList(this));
                }
                return _actionLists;
            }
        }

        public class ActionList : DesignerActionList
        {
            private TextSizeWebControlDesigner _parent;
            private DesignerActionItemCollection _items;

            // Constructor
            public ActionList(TextSizeWebControlDesigner parent)
                : base(parent.Component)
            {
                _parent = parent;

            }

            // Create the ActionItem collection and add one command
            public override DesignerActionItemCollection GetSortedActionItems()
            {
                if (_items == null)
                {
                    _items = new DesignerActionItemCollection();
                    _items.Add(new DesignerActionMethodItem(this, "ToggleLargeText", "Toggle Text Size", true));
                }
                return _items;
            }

            // ActionList command to change the text size
            private void ToggleLargeText()
            {
                // Get a reference to the parent designer's associated control
                TextControl ctl = (TextControl)_parent.Component;

                // Get a reference to the control's LargeText property
                PropertyDescriptor propDesc = TypeDescriptor.GetProperties(ctl)["LargeText"];

                // Get the current value of the property
                bool v = (bool)propDesc.GetValue(ctl);

                // Toggle the property value
                propDesc.SetValue(ctl, !v);
            }
        }
    }
}
<%@ Page Language="C#" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="ASPNet.Design.Samples.CS" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <aspSample:TextControl ID="TextControl1" runat="server">
    </aspSample:TextControl>


    </div>
    </form>
</body>
</html>

.NET Framework
Disponível desde 1.1

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: