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 finestra di progettazione. DesignSurface è l'interfaccia utente modificata dall'utente per modificare le funzionalità in fase di progettazione. DesignSurface fornisce un'area di progettazione completamente autonoma.

La DesignSurface classe può essere usata come 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 se stessa 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 servizi nel relativo costruttore. La maggior parte di questi servizi può essere sostituita sostituendole nella proprietà protetta ServiceContainer . Per sostituire un servizio, eseguire l'override del costruttore, chiamare la 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 dell'insieme di componenti del contenitore di fornire i propri provider di estensioni.
IExtenderListService Usato da TypeDescriptor per ottenere un elenco di provider di estensioni. Con questo servizio, i provider di estensioni possono vivere all'esterno del contenitore.
ITypeDescriptorFilterService Fornisce gli hook dei metadati della finestra di progettazione. Si tratta dell'interfaccia primaria per il filtro dei metadati.
ISelectionService Fornisce un modo per selezionare i componenti nella finestra di progettazione.
IReferenceService Fornisce un modo per ottenere un nome per gli oggetti, anche quando tali oggetti non vengono siti.
DesignSurface Offre la superficie 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 mostra i servizi non sostituibili forniti per impostazione predefinita.

Servizio Descrizione
IComponentChangeService Genera eventi quando 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 i 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. La tabella seguente mostra 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 fanno parte dell'area di progettazione, ma non partecipano alla serializzazione. Questo è 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 Fornisce un modo per 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