DesignSurface Klasa

Definicja

Przedstawia interfejs użytkownika do projektowania składników.

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
Dziedziczenie
DesignSurface
Atrybuty
Implementuje

Uwagi

Klasa DesignSurface implementuje to, co użytkownik postrzega jako projektanta. DesignSurface to interfejs użytkownika, który użytkownik manipuluje w celu zmiany funkcji czasu projektowania. DesignSurface zapewnia całkowicie samodzielną powierzchnię projektową.

Klasa DesignSurface może być używana jako projektant autonomiczny lub może być połączona z DesignSurfaceManager klasą w celu zapewnienia wspólnej implementacji dla aplikacji hostujących wiele DesignSurface obiektów.

Klasa DesignSurface może być używana samodzielnie lub użytkownik może utworzyć nową klasę na jej podstawie i rozszerzyć zachowanie.

Klasa DesignSurface udostępnia kilka usług w czasie projektowania automatycznie. Klasa DesignSurface dodaje wszystkie swoje usługi w konstruktorze. Większość z tych usług można zastąpić, zastępując je we właściwości chronionej ServiceContainer . Aby zastąpić usługę, przesłoń konstruktor, wywołaj bazę i wprowadź wszelkie zmiany we właściwości chronionej ServiceContainer . Wszystkie usługi dodawane do kontenera usługi i implementowane IDisposable są usuwane po usunięciu powierzchni projektowej. Domyślny zestaw usług, które DesignSurface udostępnia klasa, jest pokazany w poniższej tabeli.

Usługa Opis
IExtenderProviderService Umożliwia obiektom, które nie są częścią kolekcji składników kontenera, aby zapewnić własnych dostawców rozszerzeń.
IExtenderListService TypeDescriptor Służy do pobierania listy dostawców rozszerzeń. Dzięki tej usłudze dostawcy rozszerzeń mogą żyć poza kontenerem.
ITypeDescriptorFilterService Udostępnia punkty zaczepienia metadanych projektanta. Jest to podstawowy interfejs filtrowania metadanych.
ISelectionService Zapewnia sposób wybierania składników w projektancie.
IReferenceService Zapewnia sposób uzyskiwania nazwy obiektów, nawet jeśli te obiekty nie są lokacjami.
DesignSurface Oferuje powierzchnię projektową jako usługę.
DesignerOptionService Udostępnia klasę bazową do pobierania i ustawiania wartości opcji dla projektanta.

W poniższej tabeli przedstawiono usługi, które nie można zastąpić domyślnie.

Usługa Opis
IComponentChangeService Zgłasza zdarzenia w miarę wprowadzania zmian w składnikach.
IDesignerHost Kontroluje dostęp do typów, usług i transakcji. Podstawowy interfejs dla projektantów.
IContainer Jest właścicielem zestawu składników, które są projektowane. Każdy projektant ma element IContainer , który jest właścicielem składników.
IServiceContainer Pochodzi z IServiceProvider i zapewnia sposób dodawania i usuwania usług z projektanta.

Oprócz tych usług DesignSurface klasa udostępnia również jedną usługę dostępną za pośrednictwem lokacji składnika. Ta usługa jest unikatowa dla każdego składnika. W poniższej tabeli przedstawiono usługi, których nie można zamienić.

Usługa Opis
IDictionaryService Ogólny słownik par klucz/wartość, których można użyć do przechowywania dowolnych danych dotyczących składnika.
INestedContainer Kontener, który umożliwia składnikowi dodawanie dodatkowych składników podrzędnych do projektanta. Te składniki będą częścią powierzchni projektowej, ale nie będą uczestniczyć w serializacji. Jest to przydatne, gdy chcesz zaprojektować kontrolkę, która może uwidocznić region w projektancie, ale nie chcesz, aby region brał udział w serializacji.

Oprócz ISiteprogramu lokacja implementuje również następujące interfejsy.

Przestroga

Sprawdź istnienie tych interfejsów, zamiast używać masowego rzutowania, ponieważ inne implementacje lokacji mogą ich nie implementować.

Usługa Opis
IServiceContainer Umożliwia przejście do kontenera usług specyficznych dla lokacji. Na przykład IDictionaryService jest usługą specyficzną dla lokacji. Dzięki tej usłudze można dodać dodatkowe usługi specyficzne dla lokacji.

Konstruktory

DesignSurface()

Inicjuje nowe wystąpienie klasy DesignSurface.

DesignSurface(IServiceProvider)

Inicjuje nowe wystąpienie klasy DesignSurface.

DesignSurface(IServiceProvider, Type)

Inicjuje nowe wystąpienie klasy DesignSurface.

DesignSurface(Type)

Inicjuje nowe wystąpienie klasy DesignSurface.

Właściwości

ComponentContainer

Pobiera implementację IContainer na powierzchni projektowej.

DtelLoading

Pobiera wartość wskazującą, czy lista błędów czasu projektowania jest ładowana.

IsLoaded

Pobiera wartość wskazującą, czy powierzchnia projektowa jest obecnie ładowana.

LoadErrors

Zwraca kolekcję błędów ładowania lub kolekcji void.

ServiceContainer

Pobiera kontener usługi.

View

Pobiera widok dla głównego projektanta.

Metody

BeginLoad(DesignerLoader)

Rozpoczyna proces ładowania przy użyciu danego modułu ładującego projektanta.

BeginLoad(Type)

Rozpoczyna proces ładowania.

CreateComponent(Type)
Przestarzałe.

Tworzy wystąpienie składnika.

CreateDesigner(IComponent, Boolean)

Tworzy projektanta po dodaniu składnika do kontenera.

CreateInstance(Type)

Tworzy wystąpienie danego typu.

CreateNestedContainer(IComponent)

Tworzy kontener odpowiedni do zagnieżdżania kontrolek lub składników.

CreateNestedContainer(IComponent, String)

Tworzy kontener odpowiedni do zagnieżdżania kontrolek lub składników.

Dispose()

Zwalnia zasoby używane przez element DesignSurface.

Dispose(Boolean)

Zwalnia zasoby używane przez element DesignSurface.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Flush()

Serializuje zmiany na powierzchni projektowej.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetService(Type)

Pobiera usługę z kontenera usługi.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnLoaded(LoadedEventArgs)

Loaded Zgłasza zdarzenie.

OnLoading(EventArgs)

Loading Zgłasza zdarzenie.

OnUnloaded(EventArgs)

Unloaded Zgłasza zdarzenie.

OnUnloading(EventArgs)

Unloading Zgłasza zdarzenie.

OnViewActivate(EventArgs)

ViewActivated Zgłasza zdarzenie.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

Disposed

Występuje, gdy powierzchnia projektowa jest usuwana.

Flushed

Występuje po wywołaniu Flush()DesignSurfacemetody .

Loaded

Występuje po zakończeniu ładowania projektanta.

Loading

Występuje, gdy projektant ma zostać załadowany.

Unloaded

Występuje po zakończeniu zwalniania projektanta.

Unloading

Występuje, gdy projektant ma zwolnić.

ViewActivated

Występuje, gdy Activate() metoda została wywołana w metodzie .IDesignerHost

Dotyczy

Zobacz też