Compartilhar via


DesignSurface Classe

Definição

Apresenta uma interface do usuário para a criação de componentes.

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
Herança
DesignSurface
Atributos
Implementações

Comentários

A DesignSurface classe implementa o que o usuário percebe como um designer. DesignSurface é a interface do usuário que o usuário manipula para alterar os recursos de tempo de design. DesignSurface fornece uma superfície de design completamente independente.

A DesignSurface classe pode ser usada como um designer autônomo ou pode ser acoplada à DesignSurfaceManager classe para fornecer uma implementação comum para um aplicativo que hospeda vários DesignSurface objetos.

A DesignSurface classe pode ser usada por si só ou o usuário pode derivar uma nova classe dela e aumentar o comportamento.

A DesignSurface classe fornece vários serviços de tempo de design automaticamente. A DesignSurface classe adiciona todos os seus serviços em seu construtor. A maioria desses serviços pode ser substituída substituindo-os na propriedade protegida ServiceContainer . Para substituir um serviço, substitua o construtor, chame base e faça alterações por meio da propriedade protegida ServiceContainer . Todos os serviços adicionados ao contêiner de serviço e que implementam IDisposable são descartados quando a superfície de design é descartada. O conjunto padrão de serviços substituíveis que a DesignSurface classe fornece é mostrado na tabela a seguir.

Serviço Descrição
IExtenderProviderService Habilita objetos que não fazem parte da coleção de componentes do contêiner para fornecer seus próprios provedores de extensor.
IExtenderListService Usado por TypeDescriptor para obter uma lista de provedores de extensor. Com esse serviço, os provedores de extensor podem viver fora do contêiner.
ITypeDescriptorFilterService Fornece ganchos de metadados do designer. Essa é a interface primária para filtragem de metadados.
ISelectionService Fornece uma maneira de selecionar componentes no designer.
IReferenceService Fornece uma maneira de obter um nome para objetos, mesmo quando esses objetos não são site.
DesignSurface Oferece a própria superfície de design como um serviço.
DesignerOptionService Fornece uma classe base para obter e configurar valores de opção para um designer.

A tabela a seguir mostra os serviços não substituíveis fornecidos por padrão.

Serviço Descrição
IComponentChangeService Gera eventos à medida que são feitas alterações nos componentes.
IDesignerHost Controla o acesso a tipos, serviços e transações. Interface primária para designers.
IContainer Possui o conjunto de componentes que estão sendo projetados. Cada designer tem um IContainer que possui os componentes.
IServiceContainer Deriva de IServiceProvider e fornece uma maneira de adicionar e remover serviços do designer.

Além desses serviços, a DesignSurface classe também fornece um único serviço que está disponível por meio do site de um componente. Esse serviço é exclusivo para cada componente. A tabela a seguir mostra os serviços que não podem ser substituídos.

Serviço Descrição
IDictionaryService Um dicionário genérico de pares chave/valor que pode ser usado para armazenar dados arbitrários sobre um componente.
INestedContainer Um contêiner que permite que um componente adicione componentes filho adicionais ao designer. Esses componentes farão parte da superfície de design, mas não participarão da serialização. Isso é útil quando você deseja criar um controle capaz de expor uma região de si mesmo em um designer, mas não deseja que a região participe da serialização.

Além do ISite, o site também implementa as interfaces a seguir.

Cuidado

Verifique a existência dessas interfaces, em vez de usar a conversão indiscriminada, porque outras implementações de site podem não implementá-las.

Serviço Descrição
IServiceContainer Fornece uma maneira de acessar o contêiner de serviços específicos do site. Por exemplo, IDictionaryService é um serviço específico do site. Com esse serviço, você pode adicionar serviços adicionais específicos do site.

Construtores

DesignSurface()

Inicializa uma nova instância da classe DesignSurface.

DesignSurface(IServiceProvider)

Inicializa uma nova instância da classe DesignSurface.

DesignSurface(IServiceProvider, Type)

Inicializa uma nova instância da classe DesignSurface.

DesignSurface(Type)

Inicializa uma nova instância da classe DesignSurface.

Propriedades

ComponentContainer

Obtém a implementação de IContainer na superfície de design.

DtelLoading

Obtém um valor que indica se a Lista de Erros de Tempo de Design está carregando.

IsLoaded

Obtém um valor que indica se a superfície de design está atualmente carregada.

LoadErrors

Retorna uma coleção de carregamento de erros ou uma coleção nula.

ServiceContainer

Obtém o contêiner de serviço.

View

Obtém a exibição do designer raiz.

Métodos

BeginLoad(DesignerLoader)

Inicia o processo de carregamento com o carregador de designer fornecido.

BeginLoad(Type)

Inicia o processo de carregamento.

CreateComponent(Type)
Obsoleto.

Cria uma instância de um componente.

CreateDesigner(IComponent, Boolean)

Cria um designer quando um componente é adicionado ao contêiner.

CreateInstance(Type)

Cria uma instância do tipo fornecido.

CreateNestedContainer(IComponent)

Cria um contêiner adequado para aninhar controles ou componentes.

CreateNestedContainer(IComponent, String)

Cria um contêiner adequado para aninhar controles ou componentes.

Dispose()

Libera os recursos usados pelo DesignSurface.

Dispose(Boolean)

Libera os recursos usados pelo DesignSurface.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Flush()

Serializa alterações para a superfície de design.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetService(Type)

Obtém um serviço de contêiner de serviço.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnLoaded(LoadedEventArgs)

Aciona o evento Loaded.

OnLoading(EventArgs)

Aciona o evento Loading.

OnUnloaded(EventArgs)

Aciona o evento Unloaded.

OnUnloading(EventArgs)

Aciona o evento Unloading.

OnViewActivate(EventArgs)

Aciona o evento ViewActivated.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

Disposed

Ocorre quando a superfície de design é descartada.

Flushed

Ocorre quando uma chamada é feita para o método Flush() de DesignSurface.

Loaded

Ocorre após a conclusão do carregamento do designer.

Loading

Ocorre quando o designer está prestes a ser carregado.

Unloaded

Ocorre quando o descarregamento de um designer foi concluído.

Unloading

Ocorre quando um designer está prestes a ser descarregado.

ViewActivated

Ocorre quando o método Activate() foi chamado em IDesignerHost.

Aplica-se a

Confira também