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

FormViewDesigner Classe

Provides design-time support in a visual designer for the FormView control.

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

public class FormViewDesigner : DataBoundControlDesigner

In a visual designer, when you switch from Source to Design view, the markup source code that describes the FormView control is parsed and a design-time version of the control is created on the design surface.Quando você Switch voltar para Origem Exibir, o design-time Controlar é persistente para a marcação Origem codificar e editadas na marcação para a página da Web.

The properties of the FormViewDesigner class provide the following functionality:

  • The ActionLists property returns a DesignerActionListCollection object, which typically contains an object that is derived from the DesignerActionList class for each level in the inheritance tree of the designer.

  • The AutoFormats property returns a collection of formatting schemes for display in the Auto Format dialog box.

  • The TemplateGroups property returns a collection of template groups for the templates of the associated FormView.

  • The UsePreviewControl property always returns true, indicating that the designer creates a temporary copy of the associated FormView to generate the design-time markup.

The FormViewDesigner class methods provide the following functionality:

The following code example shows how to extend the FormViewDesigner class to change the appearance of controls that are derived from the FormView control at design time.

The example derives the MyFormView control from the FormView control.The MyFormView is simply a copy of the FormView.The example also derives the MyFormViewDesigner class from the FormViewDesigner and places a DesignerAttribute object for the MyFormViewDesigner on the MyFormView control.

The MyFormViewDesigner overrides the following items:

  • The SampleRowCount property to specify that the pager row for the design-time view of the MyFormView contain four page links.

  • The GetDesignTimeHtml method to include the Caption property, if it is specified, as a new first row in the MyFormView grid at design time.If the BorderStyle property of the MyFormView is the NotSet or None value, the GetDesignTimeHtml draws a blue dashed border around the control to make its extent more visible.

using System;
using System.Web;
using System.Drawing;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;

namespace Examples.CS.WebControls.Design
{
    // The MyFormView is a copy of the FormView.
    [AspNetHostingPermission(SecurityAction.Demand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [Designer(typeof(Examples.CS.WebControls.Design.MyFormViewDesigner))]
    public class MyFormView : FormView
    {
    } // MyFormView

    // Override members of the FormViewDesigner.
    public class MyFormViewDesigner : FormViewDesigner
    {
        // Determines the number of design-time links in the pager row.
        protected override int SampleRowCount
        {
            get
            {
                // Render four links in the pager row.
                return 4;
            }
        } // SampleRowCount

        // Generate the design-time markup.
        const string capTag = "caption";
        const string trOpen = "tr><td colspan=9 align=center";
        const string trClose = "td></tr";

        public override string GetDesignTimeHtml()
        {
            // Make the full extent of the control more visible in the designer.
            // If the border style is None or NotSet, change the border to
            // a wide, blue, dashed line. Include the caption within the border.
            MyFormView myGV = (MyFormView)Component;
            string markup = null;
            int charX;

            // Check if the border style should be changed.
            if (myGV.BorderStyle == BorderStyle.NotSet ||
                myGV.BorderStyle == BorderStyle.None)
            {
                BorderStyle oldBorderStyle = myGV.BorderStyle;
                Unit oldBorderWidth = myGV.BorderWidth;
                Color oldBorderColor = myGV.BorderColor;

                // Set the design-time properties and catch any exceptions.
                try
                {
                    myGV.BorderStyle = BorderStyle.Dashed;
                    myGV.BorderWidth = Unit.Pixel(3);
                    myGV.BorderColor = Color.Blue;

                    // Call the base method to generate the markup.
                    markup = base.GetDesignTimeHtml();
                }
                catch (Exception ex)
                {
                    markup = GetErrorDesignTimeHtml(ex);
                }
                finally
                {
                    // Restore the properties to their original settings.
                    myGV.BorderStyle = oldBorderStyle;
                    myGV.BorderWidth = oldBorderWidth;
                    myGV.BorderColor = oldBorderColor;
                }
            }
            else
                // Call the base method to generate the markup.
                markup = base.GetDesignTimeHtml();

            // Look for a <caption> tag.
            if ((charX = markup.IndexOf(capTag)) > 0)
            {
                // Replace the first caption with 
                // "tr><td colspan=9 align=center".
                // It is okay if the colspan exceeds the 
                // number of columns in the table.
                markup = markup.Remove(charX,
                    capTag.Length).Insert(charX, trOpen);

                // Replace the second caption with "td></tr".
                if ((charX = markup.IndexOf(capTag, charX)) > 0)
                    markup = markup.Remove(charX,
                        capTag.Length).Insert(charX, trClose);
            }
            return markup;

        } // GetDesignTimeHtml
    } // MyFormViewDesigner
} // Examples.CS.WebControls.Design


Quaisquer membros públicos estático (compartilhados na Visual Basic) desse tipo são Thread seguro. Não há garantia de que qualquer membro de instância seja isento de segmentos.

Contribuições da comunidade

ADICIONAR
Mostrar: