Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

IRootDesigner interface

 

Date de publication : novembre 2016

Fournit la prise en charge pour les technologies d’affichage du concepteur racine.

Espace de noms:   System.ComponentModel.Design
Assembly:  System (dans System.dll)

[ComVisibleAttribute(true)]
public interface IRootDesigner : IDesigner, IDisposable

NomDescription
System_CAPS_pubpropertyComponent

Obtient le composant de base est la conception de ce concepteur.(Hérité de IDesigner.)

System_CAPS_pubpropertySupportedTechnologies

Obtient l’ensemble de technologies prenant en charge ce concepteur pour son affichage.

System_CAPS_pubpropertyVerbs

Obtient une collection des verbes au moment du design prises en charge par le concepteur.(Hérité de IDesigner.)

NomDescription
System_CAPS_pubmethodDispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.(Hérité de IDisposable.)

System_CAPS_pubmethodDoDefaultAction()

Effectue l’action par défaut pour ce concepteur.(Hérité de IDesigner.)

System_CAPS_pubmethodGetView(ViewTechnology)

Obtient un objet de vue de la technologie d’affichage spécifiée.

System_CAPS_pubmethodInitialize(IComponent)

Initialise le concepteur avec le composant spécifié.(Hérité de IDesigner.)

Un concepteur racine est le concepteur qui se trouve dans la position supérieure, ou racine, de la hiérarchie d’objets au moment du design document actuel. Un concepteur racine doit implémenter le IRootDesigner interface. Un concepteur racine gère en général l’affichage d’arrière-plan en mode d’affichage du concepteur et il affiche les contrôles dans le conteneur de base du projet de temps de conception actuel.

L’exemple de code suivant montre un IRootDesigner implémentation associée à un exemple de contrôle utilisateur. Cela IRootDesigner implémentation affiche un contrôle pour l’affichage d’arrière-plan dans la vue de concepteur en substituant la GetView méthode. Vous devez ajouter une référence à l’assembly System.Design pour compiler l’exemple.

Pour utiliser cet exemple, ajoutez le code source à un projet et afficher le RootViewSampleComponent en mode concepteur pour afficher la vue de concepteur racine personnalisé.

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
Disponible depuis 1.1
Retour au début
Afficher: