Freigeben über


DesignSurface Klasse

Definition

Stellt eine Benutzeroberfläche zum Entwerfen von Komponenten dar.

public ref class DesignSurface : IDisposable, IServiceProvider
public class DesignSurface : IDisposable, IServiceProvider
[System.Security.SecurityCritical]
public class DesignSurface : IDisposable, IServiceProvider
type DesignSurface = class
    interface IDisposable
    interface IServiceProvider
[<System.Security.SecurityCritical>]
type DesignSurface = class
    interface IDisposable
    interface IServiceProvider
Public Class DesignSurface
Implements IDisposable, IServiceProvider
Vererbung
DesignSurface
Attribute
Implementiert

Hinweise

Die DesignSurface -Klasse implementiert, was der Benutzer als Designer wahrnimmt. DesignSurface ist die Benutzeroberfläche, die der Benutzer bearbeitet, um Features zur Entwurfszeit zu ändern. DesignSurface bietet eine vollständig eigenständige Entwurfsoberfläche.

Die DesignSurface -Klasse kann als eigenständiger Designer verwendet werden, oder sie kann mit der DesignSurfaceManager -Klasse gekoppelt werden, um eine gemeinsame Implementierung für eine Anwendung bereitzustellen, die mehrere DesignSurface Objekte hostet.

Die DesignSurface -Klasse kann selbst verwendet werden, oder der Benutzer kann eine neue Klasse daraus ableiten und das Verhalten erweitern.

Die DesignSurface -Klasse stellt automatisch mehrere Entwurfszeitdienste bereit. Die DesignSurface -Klasse fügt alle ihre Dienste in ihrem Konstruktor hinzu. Die meisten dieser Dienste können überschrieben werden, indem sie in der geschützten ServiceContainer Eigenschaft ersetzt werden. Um einen Dienst zu ersetzen, überschreiben Sie den Konstruktor, rufen Sie basis auf, und nehmen Sie alle Änderungen über die geschützte ServiceContainer Eigenschaft vor. Alle Dienste, die dem Dienstcontainer hinzugefügt und implementiert IDisposable werden, werden verworfen, wenn die Entwurfsoberfläche verworfen wird. Der Standardsatz der ersetzbaren Dienste, den die DesignSurface -Klasse bereitstellt, wird in der folgenden Tabelle gezeigt.

Dienst BESCHREIBUNG
IExtenderProviderService Ermöglicht Objekten, die nicht Teil der Komponentenauflistung des Containers sind, die Bereitstellung eigener Extenderanbieter.
IExtenderListService Wird von TypeDescriptor verwendet, um eine Liste der Extenderanbieter abzurufen. Mit diesem Dienst können Extenderanbieter außerhalb des Containers leben.
ITypeDescriptorFilterService Stellt Designermetadaten-Hooks bereit. Dies ist die primäre Schnittstelle für die Metadatenfilterung.
ISelectionService Bietet eine Möglichkeit zum Auswählen von Komponenten im Designer.
IReferenceService Bietet eine Möglichkeit, einen Namen für Objekte abzurufen, auch wenn diese Objekte nicht standortiert sind.
DesignSurface Bietet die Entwurfsoberfläche selbst als Service an.
DesignerOptionService Stellt eine Basisklasse für Abruf und Festlegung von Optionswerten für einen Designer bereit.

Die folgende Tabelle zeigt die standardmäßig bereitgestellten nicht ersetzbaren Dienste.

Dienst BESCHREIBUNG
IComponentChangeService Löst Ereignisse aus, wenn Änderungen an Komponenten vorgenommen werden.
IDesignerHost Steuert den Zugriff auf Typen, Dienste und Transaktionen. Primäre Schnittstelle für Designer.
IContainer Besitzt den Satz von Komponenten, die entworfen werden. Jeder Designer verfügt über einen IContainer , der die Komponenten besitzt.
IServiceContainer Leitet von IServiceProvider ab und bietet eine Möglichkeit zum Hinzufügen und Entfernen von Diensten aus dem Designer.

Zusätzlich zu diesen Diensten stellt die DesignSurface -Klasse auch einen einzelnen Dienst bereit, der über den Standort einer Komponente verfügbar ist. Dieser Dienst ist für jede Komponente eindeutig. In der folgenden Tabelle sind die Dienste aufgeführt, die nicht ersetzt werden können.

Dienst BESCHREIBUNG
IDictionaryService Ein generisches Wörterbuch mit Schlüssel-Wert-Paaren, das zum Speichern beliebiger Daten zu einer Komponente verwendet werden kann.
INestedContainer Ein Container, der es einer Komponente ermöglicht, dem Designer zusätzliche untergeordnete Komponenten hinzuzufügen. Diese Komponenten sind Teil der Entwurfsoberfläche, aber nicht an der Serialisierung beteiligt. Dies ist nützlich, wenn Sie ein Steuerelement entwerfen möchten, das in der Lage ist, einen Bereich von sich selbst in einem Designer verfügbar zu machen, die Region jedoch nicht an der Serialisierung beteiligt sein soll.

Zusätzlich zu ISiteimplementiert der Standort auch die folgenden Schnittstellen.

Achtung

Überprüfen Sie, ob diese Schnittstellen vorhanden sind, anstatt die wahllose Umwandlung zu verwenden, da sie von anderen Websiteimplementierungen möglicherweise nicht implementiert werden.

Dienst BESCHREIBUNG
IServiceContainer Bietet eine Möglichkeit, zum Container von standortspezifischen Diensten zu gelangen. Beispielsweise IDictionaryService ist ein standortspezifischer Dienst. Mit diesem Dienst können Sie zusätzliche websitespezifische Dienste hinzufügen.

Konstruktoren

DesignSurface()

Initialisiert eine neue Instanz der DesignSurface-Klasse.

DesignSurface(IServiceProvider)

Initialisiert eine neue Instanz der DesignSurface-Klasse.

DesignSurface(IServiceProvider, Type)

Initialisiert eine neue Instanz der DesignSurface-Klasse.

DesignSurface(Type)

Initialisiert eine neue Instanz der DesignSurface-Klasse.

Eigenschaften

ComponentContainer

Ruft die IContainer-Implementierung innerhalb der Entwurfsoberfläche ab.

DtelLoading

Ruft einen Wert ab, der angibt, ob die Entwurfszeitfehlerliste geladen wird.

IsLoaded

Ruft einen Wert ab, der angibt, ob die Entwurfsoberfläche gegenwärtig geladen ist.

LoadErrors

Gibt eine Auflistung von während des Ladevorgangs aufgetretenen Fehlern oder eine leere Auflistung zurück.

ServiceContainer

Ruft den Dienstcontainer ab.

View

Ruft die Ansicht für den Stammdesigner ab.

Methoden

BeginLoad(DesignerLoader)

Beginnt den Ladevorgang mit dem angegebenen Designerladeprogramm.

BeginLoad(Type)

Beginnt den Ladevorgang.

CreateComponent(Type)
Veraltet.

Erstellt eine Instanz einer Komponente.

CreateDesigner(IComponent, Boolean)

Erstellt einen Designer, wenn dem Container eine Komponente hinzugefügt wird.

CreateInstance(Type)

Erstellt eine Instanz des angegebenen Typs.

CreateNestedContainer(IComponent)

Erstellt einen für die Schachtelung von Steuerelementen oder Komponenten geeigneten Container.

CreateNestedContainer(IComponent, String)

Erstellt einen für die Schachtelung von Steuerelementen oder Komponenten geeigneten Container.

Dispose()

Gibt die von der DesignSurface verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von der DesignSurface verwendeten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Flush()

Serialisiert an der Entwurfsoberfläche vorgenommene Änderungen.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetService(Type)

Ruft einen Dienst vom Dienstcontainer ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnLoaded(LoadedEventArgs)

Löst das Loaded-Ereignis aus.

OnLoading(EventArgs)

Löst das Loading-Ereignis aus.

OnUnloaded(EventArgs)

Löst das Unloaded-Ereignis aus.

OnUnloading(EventArgs)

Löst das Unloading-Ereignis aus.

OnViewActivate(EventArgs)

Löst das ViewActivated-Ereignis aus.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

Disposed

Tritt auf, wenn die Entwurfsoberfläche verworfen wird.

Flushed

Tritt auf, wenn die Flush()-Methode von DesignSurface aufgerufen wird.

Loaded

Tritt auf, wenn der Ladevorgang des Designers abgeschlossen wurde.

Loading

Tritt auf, wenn der Designer gerade geladen wird.

Unloaded

Tritt auf, wenn ein Designer vollständig entladen wurde.

Unloading

Tritt auf, wenn ein Designer gerade entladen wird.

ViewActivated

Tritt auf, wenn die Activate()-Methode für IDesignerHost aufgerufen wurde.

Gilt für:

Weitere Informationen