DesignSurface Classe

Definizione

Fornisce un'interfaccia utente per la progettazione dei componenti.

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
Ereditarietà
DesignSurface
Attributi
Implementazioni

Commenti

La DesignSurface classe implementa ciò che l'utente percepisce come una finestra di progettazione. DesignSurface è l'interfaccia utente che l'utente modifica per modificare le funzionalità in fase di progettazione. DesignSurface fornisce un'area di progettazione completamente autonoma.

La DesignSurface classe può essere usata come finestra di progettazione autonoma oppure può essere associata alla DesignSurfaceManager classe per fornire un'implementazione comune per un'applicazione che ospita più DesignSurface oggetti.

La DesignSurface classe può essere usata da sola oppure l'utente può derivare una nuova classe da essa e aumentare il comportamento.

La DesignSurface classe fornisce automaticamente diversi servizi in fase di progettazione. La DesignSurface classe aggiunge tutti i relativi servizi nel relativo costruttore. La maggior parte di questi servizi può essere sostituita sostituendoli nella proprietà protetta ServiceContainer . Per sostituire un servizio, eseguire l'override del costruttore, chiamare base e apportare modifiche tramite la proprietà protetta ServiceContainer . Tutti i servizi aggiunti al contenitore del servizio e che implementano IDisposable vengono eliminati quando l'area di progettazione viene eliminata. Il set predefinito di servizi sostituibili forniti dalla DesignSurface classe è illustrato nella tabella seguente.

Servizio Descrizione
IExtenderProviderService Consente agli oggetti che non fanno parte della raccolta di componenti del contenitore di fornire i propri provider di estensione.
IExtenderListService Usato da TypeDescriptor per ottenere un elenco di provider extender. Con questo servizio, i provider extender possono risiedere all'esterno del contenitore.
ITypeDescriptorFilterService Fornisce hook di metadati della finestra di progettazione. Si tratta dell'interfaccia principale per il filtro dei metadati.
ISelectionService Consente di selezionare i componenti nella finestra di progettazione.
IReferenceService Fornisce un modo per ottenere un nome per gli oggetti, anche quando tali oggetti non sono presenti nel sito.
DesignSurface Offre l'area di progettazione stessa come servizio.
DesignerOptionService Fornisce una classe di base per ottenere e impostare i valori delle opzioni per una finestra di progettazione.

La tabella seguente illustra i servizi non sostituibili forniti per impostazione predefinita.

Servizio Descrizione
IComponentChangeService Genera eventi man mano che vengono apportate modifiche ai componenti.
IDesignerHost Controlla l'accesso a tipi, servizi e transazioni. Interfaccia primaria per le finestre di progettazione.
IContainer Possiede il set di componenti progettati. Ogni finestra di progettazione dispone di un oggetto IContainer proprietario dei componenti.
IServiceContainer Deriva da IServiceProvider e fornisce un modo per aggiungere e rimuovere servizi dalla finestra di progettazione.

Oltre a questi servizi, la DesignSurface classe fornisce anche un singolo servizio disponibile tramite il sito di un componente. Questo servizio è univoco per ogni componente. Nella tabella seguente vengono illustrati i servizi che non possono essere sostituiti.

Servizio Descrizione
IDictionaryService Dizionario generico di coppie chiave/valore che possono essere usate per archiviare dati arbitrari su un componente.
INestedContainer Contenitore che consente a un componente di aggiungere componenti figlio aggiuntivi alla finestra di progettazione. Questi componenti faranno parte dell'area di progettazione, ma non faranno parte della serializzazione. Ciò è utile quando si vuole progettare un controllo in grado di esporre un'area di se stessa in una finestra di progettazione, ma non si vuole che l'area partecipi alla serializzazione.

Oltre a ISite, il sito implementa anche le interfacce seguenti.

Attenzione

Verificare l'esistenza di queste interfacce, anziché usare il cast indiscriminato, perché altre implementazioni del sito potrebbero non implementarle.

Servizio Descrizione
IServiceContainer Consente di accedere al contenitore di servizi specifici del sito. Ad esempio, IDictionaryService è un servizio specifico del sito. Con questo servizio è possibile aggiungere altri servizi specifici del sito.

Costruttori

DesignSurface()

Inizializza una nuova istanza della classe DesignSurface.

DesignSurface(IServiceProvider)

Inizializza una nuova istanza della classe DesignSurface.

DesignSurface(IServiceProvider, Type)

Inizializza una nuova istanza della classe DesignSurface.

DesignSurface(Type)

Inizializza una nuova istanza della classe DesignSurface.

Proprietà

ComponentContainer

Ottiene l'implementazione dell'interfaccia IContainer all'interno dell'area di progettazione.

DtelLoading

Ottiene un valore che indica se Design-time Error List viene caricato.

IsLoaded

Ottiene un valore che indica se l'area di progettazione è in fase di caricamento.

LoadErrors

Restituisce un insieme di errori di caricamento o un insieme vuoto.

ServiceContainer

Ottiene il contenitore dei servizi.

View

Ottiene la visualizzazione per la finestra di progettazione radice.

Metodi

BeginLoad(DesignerLoader)

Avvia il processo di caricamento con il caricatore della finestra di progettazione indicato.

BeginLoad(Type)

Avvia il processo di caricamento.

CreateComponent(Type)
Obsoleti.

Crea un'istanza di un componente.

CreateDesigner(IComponent, Boolean)

Crea una finestra di progettazione quando un componente viene aggiunto al contenitore.

CreateInstance(Type)

Crea un'istanza del tipo indicato.

CreateNestedContainer(IComponent)

Crea un contenitore adatto per i controlli o i componenti di annidamento.

CreateNestedContainer(IComponent, String)

Crea un contenitore adatto per i controlli o i componenti di annidamento.

Dispose()

Rilascia le risorse usate da DesignSurface.

Dispose(Boolean)

Rilascia le risorse usate da DesignSurface.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Flush()

Serializza le modifiche apportate all'area di progettazione.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetService(Type)

Ottiene un servizio dal contenitore dei servizi.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnLoaded(LoadedEventArgs)

Genera l'evento Loaded.

OnLoading(EventArgs)

Genera l'evento Loading.

OnUnloaded(EventArgs)

Genera l'evento Unloaded.

OnUnloading(EventArgs)

Genera l'evento Unloading.

OnViewActivate(EventArgs)

Genera l'evento ViewActivated.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Eventi

Disposed

Generato quando viene eliminata l'area di progettazione.

Flushed

Generato quando viene eseguita una chiamata al metodo Flush() dell'oggetto DesignSurface.

Loaded

Generato al termine del caricamento della finestra di progettazione.

Loading

Generato quando si sta per caricare la finestra di progettazione.

Unloaded

Generato al termine dello scaricamento della finestra di progettazione.

Unloading

Generato quando la finestra di progettazione è in fase di scaricamento.

ViewActivated

Generato quando viene chiamato il metodo Activate() nell'interfaccia IDesignerHost.

Si applica a

Vedi anche