ControlDesigner.ViewControl Właściwość

Definicja

Pobiera lub ustawia kontrolkę serwera sieci Web, która może służyć do wyświetlania podglądu znacznika HTML w czasie projektowania.

C#
public System.Web.UI.Control ViewControl { get; set; }

Wartość właściwości

Control Obiekt używany przez klasę bazową do generowania znaczników HTML w czasie projektowania.

Przykłady

W poniższym przykładzie kodu pokazano, jak oznaczyć projektanta kontrolek atrybutem SupportsPreviewControlAttribute . Przykładowy kod tworzy kontrolkę serwera sieci Web z Label klasy i kojarzy kontrolkę z implementacją niestandardowego projektanta kontrolek. Deklaracja klasy projektanta kontrolek jest oznaczona atrybutem ustawionym SupportsPreviewControl na true. Projektant kontrolek zastępuje metodę GetDesignTimeHtml , a następnie wyświetla Text właściwość kontrolki w kursywie w czasie projektowania.

C#
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.
    }
}

Uwagi

Właściwość ViewControl używa UsePreviewControl właściwości , aby określić jej wartość zwracaną.

UsePreviewControl Jeśli właściwość ma truewartość , ViewControl właściwość zwraca tymczasową kopię kontrolki. Zmiany w kontrolce tymczasowej nie są utrwalane.

UsePreviewControl Jeśli właściwość ma falsewartość , ViewControl właściwość zwraca wystąpienie Component właściwości dla kontrolki. Zmiany w wystąpieniu kontrolki są utrwalane.

Ustawienie SupportsPreviewControl w SupportsPreviewControlAttribute obiekcie służy do ustawiania wartości UsePreviewControl właściwości. W związku z tym SupportsPreviewControl ustawienie określa typ kontrolki zwracanej przez ViewControl właściwość w klasie bazowej ControlDesigner . Jeśli właściwość SupportsPreviewControlAttribute nie jest określona w deklaracji projektanta kontrolek, ControlDesigner zachowanie obiektu jest równoważne określeniu SupportsPreviewControl właściwości jako false.

Dotyczy

Produkt Wersje
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Zobacz też