ID do artigo: 813450 - Última revisão: quarta-feira, 16 de julho de 2008 - Revisão: 3.1

Como tornar um objeto UserControl atua como um controle contêiner-tempo de design usando translation from VPE for Csharp Visual

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Este artigo passo a passo descreve como fazer um ato de objeto UserControl como um recipiente de controle em tempo de design depois que você colocar o UserControl em um formulário do Windows. Pode haver situações em que você deseja arrastar um controle para o UserControl . Para fazer isso, o UserControl deve atuar como um recipiente de controle.

Visão geral


Por padrão, um objeto UserControl pode atuar como um controle contêiner somente quando você cria o controle. Para fazer um UserControl que hospedar um controle constituinte depois que você colocar o UserControl em um formulário do Windows, você deve alterar o designer de padrão de UserControl . Para implementar serviços de tempo de design para um componente, use a classe DesignerAttribute do namespace System.ComponentModel . DesignerAttribute vem antes da declaração de classe. Inicialize DesignerAttribute passando designerTypeName e os parâmetros designerBaseType .

designerTypeName é o nome totalmente qualificado do tipo designer que fornece serviços de tempo de design. Passe a combinação de System.Windows.Forms.Design.ParentControlDesigner e o System.design para o parâmetro designerTypeName . A classe ParentControlDesigner estende o comportamento em tempo de design para um UserControl .

designerBaseType é o nome da classe base para o designer. A classe que é usada para os serviços de tempo de design deve implementar o IDesigner interface.


Criar o UserControl como um contêiner de controle de tempo de design

  1. Criar uma biblioteca de controle do Visual translation from VPE for Csharp Windows novo projeto. Para fazer isso, execute as seguintes etapas:
    1. Inicie o Visual Studio.
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
    3. Em Project Types , clique em translation from VPE for Csharp Visual e, em seguida, clique em Windows Forms Control Library em modelos .

      Observação No Visual Studio 2003, clique em projetos do Visual translation from VPE for Csharp em Project Types e clique em Windows Control Library em modelos .
  2. Nomeie o projeto ContainerUserControl . Por padrão, UserControl1.cs é criado.
  3. No Solution Explorer, clique com o botão direito do mouse UserControl1.cs e, em seguida, clique em View Code .
  4. Adicione o seguinte código à seção declarações:
    using System.ComponentModel.Design;
  5. Aplicar o atributo System.ComponentModel.DesignerAttribute para o controle da seguinte maneira:
    [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] 
    public class UserControl1 : System.Windows.Forms.UserControl
    {
    
          ...
    
    }
  6. No menu Build , clique em Build Solution .


Teste o UserControl

  1. Crie um novo projeto translation from VPE for Csharp Visual. Para fazer isso, execute as seguintes etapas:
    1. Inicie o Visual Studio.
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
    3. Em Project Types , clique em translation from VPE for Csharp Visual e, em seguida, clique em Windows Forms Application em modelos . Por padrão, Form1.cs é criado.

      Observação No Visual Studio 2003, clique em projetos do Visual translation from VPE for Csharp em Tipos de projeto e, em seguida, clique em Windows Control Library em modelos .
  2. Adicione o controle UserControl1 à caixa de ferramentas.
    1. No menu Ferramentas , clique em Choose Toolbox Items .
    2. Na guia .NET Framework Components , clique em Procurar .
    3. Na caixa Abrir arquivo , localize a DLL que foi criada quando você criou o controle de UserControl .
  3. Arraste UserControl1 da caixa de ferramentas (em Windows Forms) para Form1.cs .
  4. Arraste um controle de botão da caixa de ferramentas para UserControl1 .
  5. Observe que se comporta UserControl1 como recipiente de controle para o controle Button .

Referências

Para obter mais informações, consulte os seguintes sites:

Classe ParentControlDesigner
http://msdn.microsoft.com/en-us/library/system.windows.forms.design.parentcontroldesigner(VS.71).aspx (http://msdn.microsoft.com/en-us/library/system.windows.forms.design.parentcontroldesigner(VS.71).aspx)

Classe DesignerAttribute
http://msdn.microsoft.com/en-us/library/system.componentmodel.designerattribute(vs.71).aspx (http://msdn.microsoft.com/en-us/library/system.windows.forms.design.parentcontroldesigner(VS.71).aspx)



A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# 2008 Express Edition
Palavras-chave: 
kbmt kbcontrol kbcontainer kbwindowsforms kbcompmodel kbhowtomaster KB813450 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 813450  (http://support.microsoft.com/kb/813450/en-us/ )