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
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.
Clique duas vezes em Formulário1 para criar e exibir o procedimento de
Form1_Load
evento.Adicione variáveis de instância privada à classe para trabalhar com controles comuns do
Form1
Windows. AForm1
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
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;
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);
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);
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);
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);
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
Adicione o código a seguir para adicionar cada objeto à
Controls
matriz do formulário no final deForm1_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);
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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários