Usar o Visual C# para adicionar controles programaticamente aos formulários windows em tempo de execução

Este artigo ajuda você a adicionar e configurar controles programaticamente em um formulário windows usando o Visual C#.

Versão original do produto: Visual C#
Número de KB original: 319266

Resumo

Este artigo passo a passo mostra como adicionar e configurar programaticamente alguns controles comumente usados em um formulário windows. O tratamento de eventos foi omitido do código de exemplo.

O SDK (Microsoft .NET Framework Software Development Kit) fornece muitos controles visuais que você pode usar para criar um aplicativo Windows Forms. Você pode adicionar e configurar controles no momento do design no Visual Studio .NET ou no Visual Studio. Você pode adicionar e configurar controles programaticamente em tempo de execução.

Requisitos

Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:

  • Sintaxe do Visual C#
  • O ambiente .NET do Visual Studio, o ambiente do Visual Studio
  • Finalidade dos controles comuns do Visual C#

Criar um aplicativo Windows Forms

  1. Inicie o Visual Studio .NET ou o Visual Studio e crie um novo projeto do Aplicativo Windows do Visual C# chamado WinControls. O Form1 é adicionado ao projeto por padrão.

  2. Clique duas vezes em Formulário1 para criar e exibir o procedimento de Form1_Load evento.

  3. Adicione variáveis de instância privada à classe para trabalhar com controles comuns do Form1 Windows. A Form1 classe começa da seguinte maneira:

    public class Form1 : System.Windows.Forms.Form
    {
         //Controls.
         private TextBox txtBox = new TextBox();
         private Button btnAdd = new Button();
         private ListBox lstBox = new ListBox();
         private CheckBox chkBox = new CheckBox();
         private Label lblCount = new Label();
        //Other code.
    }
    

    Observação

    O código deve ser alterado no Visual Studio. Quando você cria um projeto Windows Forms, o Visual C# adiciona um formulário ao projeto por padrão. Esse formulário se chama Form1. Os dois arquivos que representam o formulário são nomeados Form1.cs e Form1.designer.cs. Você grava seu código em Form1.cs. O arquivo Designer.cs é onde o Windows Forms Designer grava o código que implementa todas as ações executadas adicionando controles. Para obter mais informações sobre o Windows Forms Designer no Visual C#, consulte Criando um projeto (Visual C#).

Personalizar propriedades de formulário e controle

  1. Localize o Form1_Load procedimento de evento e adicione o seguinte código ao procedimento para personalizar a aparência do controle Form:

     //Set up the form.
     this.MaximizeBox = false;
     this.MinimizeBox = false;
     this.BackColor = Color.White;
     this.ForeColor = Color.Black;
     this.Size = new System.Drawing.Size(155, 265);
     this.Text = "Run-time Controls";
     this.FormBorderStyle = FormBorderStyle.FixedDialog;
     this.StartPosition = FormStartPosition.CenterScreen;
    
  2. Adicione o seguinte código ao procedimento de Form1_Load evento para personalizar a aparência do controle Button:

     //Format controls. Note: Controls inherit color from parent form.
     this.btnAdd.BackColor = Color.Gray;
     this.btnAdd.Text = "Add";
     this.btnAdd.Location = new System.Drawing.Point(90, 25);
     this.btnAdd.Size = new System.Drawing.Size(50, 25);
    
  3. Adicione o código a seguir para personalizar a aparência do controle TextBox em Form1_Load:

     this.txtBox.Text = "Text";
     this.txtBox.Location = new System.Drawing.Point(10, 25);
     this.txtBox.Size = new System.Drawing.Size(70, 20);
    
  4. Adicione o código a seguir para personalizar a aparência do controle ListBox em Form1_Load:

     this.lstBox.Items.Add("One");
     this.lstBox.Items.Add("Two");
     this.lstBox.Items.Add("Three");
     this.lstBox.Items.Add("Four");
     this.lstBox.Sorted = true;
     this.lstBox.Location = new System.Drawing.Point(10, 55);
     this.lstBox.Size = new System.Drawing.Size(130, 95);
    
  5. Adicione o código a seguir para personalizar a aparência do controle CheckBox em Form1_Load:

     this.chkBox.Text = "Disable";
     this.chkBox.Location = new System.Drawing.Point(15, 190);
     this.chkBox.Size = new System.Drawing.Size(110, 30);
    
  6. Adicione o código a seguir para personalizar a aparência do controle Label em Form1_Load:

     this.lblCount.Text = lstBox.Items.Count.ToString() + " items";
     this.lblCount.Location = new System.Drawing.Point(55, 160);
     this.lblCount.Size = new System.Drawing.Size(65, 15);
    

Adicionar controles ao formulário

  1. Adicione o código a seguir para adicionar cada objeto à Controls matriz do formulário no final de Form1_Load:

     //Add controls to the form.
     this.Controls.Add(btnAdd);
     this.Controls.Add(txtBox);
     this.Controls.Add(lstBox);
     this.Controls.Add(chkBox);
     this.Controls.Add(lblCount);
    
  2. Salve o projeto.

Verificar se ele funciona

Para verificar se o exemplo funciona, selecione Iniciar no menu Depuração .

Observação

  • Embora o formulário e os controles apareçam, eles atualmente não fazem nada porque você não escreveu nenhum manipulador de eventos.
  • Lembre-se de que as posições desses controles são estáticas. Para torná-los mais robustos quando o formulário for estendido, torne os pontos dinâmicos em relação à posição do formulário. Se os controles estiverem estáticos, o alongamento do formulário poderá interferir na exibição de outros controles no formulário.

Referências

Para obter mais informações sobre como usar controles de forma programática, confira o tópico Aplicativos do Windows na seção Visual C# da documentação de ajuda do Visual Studio .NET Online ou a documentação de Ajuda do Visual Studio Online.