Visual – Controles – Form, Label, TextBox, Button, Point, Size e EventHandler – C#

Publicado: 8 de março de 2014 em C#

Por default no Visual Studio um projeto visual já cria o primeiro formulário para o desenvolvedor como já vimos no post anterior, e é muito mais fácil desenvolver usando os componentes em Design Time, mas como em Java o C# também pode ser manipulado usando somente código fonte e este tipo de codificação chama-se: código dinâmico. Dependo do tipo de software que você esta desenvolvendo códigos dinâmicos são um recurso extremamente útil.

Desenvolvedores puristas preferem escrever códigos dinamicamente, estes deixam o código mais limpo e mais leve e as vezes até mais rápido  do que IDEs de Design Time, que criam um arquivo extra para gerenciar os componentes e suas posições na tela.

Controles Básicos

Para criar programas em C# você precisa conhecer os controles básicos, programadores iniciantes sabem usar as propriedades de objetos como por exemplo, a classe Size (tamanho) usando o inspetor de objetos, mas na hora de criar controles de tamanho e posições de tela dinamicamente se embaralham um pouco, pois não se pode atribuir os valores diretamente como se faz no inspetor de objetos, é necessário o uso de classes para fazer este trabalho.

Point

Representa um par ordenado de inteiros X e Y de coordenadas que define um ponto em um plano bidimensional.

Size

Armazena um par ordenado de números inteiros, que especificam a altura e largura.

Form

Representa uma janela ou caixa de diálogo que compõe a interface de usuário do aplicativo

Label

Representa o rótulo de texto para um controle e fornece suporte para teclas de acesso.

TextBox

Representa um controle de caixa de texto do Windows.

Button

Representa um controle de botão do Windows.

EventHandler

Representa o método que manipulará um evento que não tem dados do evento. O modelo de evento no .NET Framework. Baseia-se em ter um representante do evento que conecta um evento com seu manipulador.

Exemplo:

Neste exemplo criamos dinamicamente os controles básicos e um evento para um programa que concatena duas strings.

C#


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DesenvolvimentoAberto
{
    public partial class Form1 : Form
    {
        // Cria Componentes
        Label rotulo = new Label();
        TextBox texto1 = new TextBox();
        TextBox texto2 = new TextBox();
        Button botao = new Button();
        Label resultado = new Label();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            // Altera titulo do formulario
            Form1.ActiveForm.Text = "Desenvolvimento Aberto";

            // Seta valores para as propriedades dos objetos
            rotulo.Text = "Concatena Strings:";
            rotulo.Location = new Point(5, 5);

            texto1.Text = "Digite uma String";
            texto1.Location = new Point(5, 30);
            texto1.Size = new Size(200, 20);

            texto2.Text = "Digite uma String";
            texto2.Location = new Point(5, 60);
            texto2.Size = new Size(200, 20);

            botao.Text = "Somar";
            botao.Location = new Point(5, 85);

            // Delega evento OnClick para o botão
            botao.Click += new System.EventHandler(botao_Click);

            resultado.Text = "Resultado:";
            resultado.Location = new Point(5, 110);
            resultado.Size = new Size(300, 20);

            // Adiciona objetos no formulário
            Form1.ActiveForm.Controls.Add(rotulo);
            Form1.ActiveForm.Controls.Add(texto1);
            Form1.ActiveForm.Controls.Add(texto2);
            Form1.ActiveForm.Controls.Add(botao);
            Form1.ActiveForm.Controls.Add(resultado);
        }

        // Método OnClick do botão
        private void botao_Click(object sender, EventArgs e)
        {
            resultado.Text = texto1.Text + texto2.Text;
        }

    }
}
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s