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 |