Auf Englisch lesen

Freigeben über


IRootDesigner Schnittstelle

Definition

Unterstützt Ansichtstechnologien für Designer auf Stammebene.

C#
public interface IRootDesigner : IDisposable, System.ComponentModel.Design.IDesigner
C#
[System.Runtime.InteropServices.ComVisible(true)]
public interface IRootDesigner : IDisposable, System.ComponentModel.Design.IDesigner
C#
public interface IRootDesigner : System.ComponentModel.Design.IDesigner
Abgeleitet
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird eine IRootDesigner Implementierung veranschaulicht, die einem Beispielbenutzersteuerelement zugeordnet ist. Diese IRootDesigner Implementierung zeigt ein Steuerelement für die Hintergrundansicht in der Designeransicht an, indem die GetView -Methode überschrieben wird. Sie müssen einen Verweis auf die System.Design-Assembly hinzufügen, um das Beispiel zu kompilieren.

Um dieses Beispiel zu verwenden, fügen Sie den Quellcode zu einem Projekt hinzu, und zeigen Sie in der Designeransicht an RootViewSampleComponent , um die benutzerdefinierte Stamm-Designer-Ansicht anzuzeigen.

C#
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);
            }
        }		
    }
}

Hinweise

Ein Stamm-Designer ist der Designer, der sich an der obersten Position oder dem Stamm der aktuellen Dokumentobjekthierarchie zur Entwurfszeit befindet. Ein Stamm-Designer muss die IRootDesigner -Schnittstelle implementieren. Ein Stamm-Designer verwaltet in der Regel die Hintergrundansicht im Designeransichtsmodus und zeigt in der Regel die Steuerelemente im Basiscontainer des aktuellen Entwurfszeitprojekts an.

Eigenschaften

Component

Ruft die von diesem Designer entworfene Basiskomponente ab.

(Geerbt von IDesigner)
SupportedTechnologies

Ruft den Satz von Technologien ab, die dieser Designer für die Anzeige unterstützen kann.

Verbs

Ruft eine Auflistung der Entwurfszeitverben ab, die vom Designer unterstützt werden.

(Geerbt von IDesigner)

Methoden

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von IDisposable)
DoDefaultAction()

Führt die Standardaktion für diesen Designer durch.

(Geerbt von IDesigner)
GetView(ViewTechnology)

Ruft ein Ansichtsobjekt für die angegebene Ansichtstechnologie ab.

Initialize(IComponent)

Initialisiert den Designer mit der angegebenen Komponente.

(Geerbt von IDesigner)

Gilt für:

Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 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
.NET Standard 2.0, 2.1