Enumeração ViewTechnology

 

Define identificadores para um conjunto de tecnologias que os hosts do designer oferecem suporte a.

Namespace:   System.ComponentModel.Design
Assembly:  System (em System.dll)

[ComVisibleAttribute(true)]
public enum ViewTechnology

Nome do membroDescrição
Default

Especifica o suporte de tecnologia de exibição padrão.

Passthrough

Obsoleto.Representa um modo em que o objeto de exibição é passado diretamente ao ambiente de desenvolvimento.

WindowsForms

Obsoleto.Representa um modo em que um objeto de controle do Windows Forms fornece a exibição do designer raiz.

O modelo do adaptador de exibição substitui e funcionalidades ao recurso de ViewTechnology ; no entanto, o recurso de ViewTechnology é mantido para compatibilidade com versões anteriores e o uso futuro, se você escolher.Biblioteca da forma do .NET Para obter mais informações, consulte “: Um designer de exemplo” na base de conhecimento do Windows Forms em http://windowsforms.net/articles/shapedesigner.aspx.

ViewTechnology define os identificadores que podem indicar o modo a ser usado para controlar a exibição de um documento designer- hospedado.

Você só deve usar o valor de Default em seu ambiente de hospedagem do designer.Em versões anteriores de .NET Framework, a enumeração de ViewTechnology o tipo especificado de modelo da interface do usuário suporte de um designer raiz.Como esse modelo não é extensível, você deve usar um modelo do adaptador de exibição .Um adaptador da exibição é um tipo que adapte um objeto de um tipo para outro.

Por exemplo, um designer de HTML pode retornar uma árvore de DemoDOM como sua exibição.O HTML designer retorna uma tecnologia de exibição de Default.Um ambiente de hospedagem do Windows Forms teria uma ou mais classes do adaptador de exibição disponíveis.Se uma essa classe pode converter DemoDOM em um controle do Windows Forms, o aplicativo host pode dar suporte a esse tipo do designer.Se nenhum adaptador pode manipular o tipo de dados retornado pelo método de GetView do designer, a carga do designer, falhará e o usuário verá um erro.

Visual Studio tem um esquema extensível para fornecer adaptadores da exibição, para que possa adaptar a qualquer interface do usuário a tecnologia.Os provedores de tecnologia de terceiros também podem oferecer um adaptador apropriado na exibição, e os modelos de objeto são imediatamente consumíveis.

Para obter um exemplo que usa adaptadores de exibição, consulte “a biblioteca do .NET forma: Um designer de exemplo” na base de conhecimento do Windows Forms em http://windowsforms.net/articles/shapedesigner.aspx.

O exemplo de código a seguir demonstra como usar a classe de ViewTechnology em um designer.Este exemplo de código fizer parte de um maior exemplo fornecido para a interface de IRootDesigner .

using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace SampleRootDesigner
{	
    // This sample demonstrates how to provide the root designer view, or
    // design mode background view, by overriding IRootDesigner.GetView().

    // This sample component inherits from RootDesignedComponent which 
    // uses the SampleRootDesigner.
    public class RootViewSampleComponent : RootDesignedComponent
    {
        public RootViewSampleComponent()
        {
        }
    }

    // The following attribute associates the SampleRootDesigner designer 
    // with the SampleComponent component.
    [Designer(typeof(SampleRootDesigner), typeof(IRootDesigner))]
    public class RootDesignedComponent : Component
    {
        public RootDesignedComponent()
        {
        }
    }

    public class SampleRootDesigner : ComponentDesigner, IRootDesigner
    {
        // Member field of custom type RootDesignerView, a control that 
        // will be shown in the Forms designer view. This member is 
        // cached to reduce processing needed to recreate the 
        // view control on each call to GetView().
        private RootDesignerView m_view;			

        // This method returns an instance of the view for this root
        // designer. The "view" is the user interface that is presented
        // in a document window for the user to manipulate. 
        object IRootDesigner.GetView(ViewTechnology technology) 
        {
            if (technology != ViewTechnology.Default)
            {
                throw new ArgumentException("Not a supported view technology", "technology");
            }
            if (m_view == null)
            {
                   // Some type of displayable Form or control is required 
                   // for a root designer that overrides GetView(). In this 
                   // example, a Control of type RootDesignerView is used.
                   // Any class that inherits from Control will work.
                m_view = new RootDesignerView(this);
            }
            return m_view;
        }

        // IRootDesigner.SupportedTechnologies is a required override for an
        // IRootDesigner. Default is the view technology used by this designer.  
        ViewTechnology[] IRootDesigner.SupportedTechnologies 
        {
            get
            {
                return new ViewTechnology[] {ViewTechnology.Default};
            }
        }

        // RootDesignerView is a simple control that will be displayed 
        // in the designer window.
        private class RootDesignerView : Control 
        {
            private SampleRootDesigner m_designer;

            public RootDesignerView(SampleRootDesigner designer)
            {
                m_designer = designer;
                BackColor = Color.Blue;
                Font = new Font(Font.FontFamily.Name, 24.0f);
            }

            protected override void OnPaint(PaintEventArgs pe)
            {
                base.OnPaint(pe);

                // Draws the name of the component in large letters.
                pe.Graphics.DrawString(m_designer.Component.Site.Name, Font, Brushes.Yellow, ClientRectangle);
            }
        }		
    }
}

.NET Framework
Disponível desde 1.1
Retornar ao topo
Mostrar: