DesignSurface Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 |