Olá pessoal, neste artigo irei lhes mostrar um programa em Windows Forms, usando C#.

Neste exemplo, fiz um programa bem simples, sem tratamento de erros, apenas com o objetivo de calcular o frete de uma venda baseada no estado em que ela foi realizada e no valor da mesma.

Vamos definir o seguinte :

- Para vendas acima de 1000 reais, o frete é grátis.

- Para vendas realizadas em São Paulo, o frete é de R$ 5,00.

- Para vendas realizadas no Rio de Janeiro, o frete é de R$ 10,00.

- Para vendas realizadas no Amazonas, o frete é de R$ 20,00.

- Para vendas realizadas nos demais estados, o frete é de R$ 15,00.

Ok, pârametros definidos, mãos á obra:

01 – Inicie um novo projeto Windows, conforme figura abaixo:


02 – Construa o form inserindo labels, textboxes, um button e uma ComboBox, abaixo imagem do form pronto e rodando:


03 – Usar a propriedade Items, da ComboBox para inserir os estados:


04 – Escrever os códigos:

namespace ExemploCalculoFrete
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public void CalcularFrete()
{
//Declaro as variáveis para o nome, valor e estado
string nome = txtNome.Text;
decimal valor = decimal.Parse(txtValor.Text);
string estado = cboEstado.SelectedItem.ToString();

//Declaro e inicializo as variáveis frete e total
decimal frete = 0, total = 0;

//Faço o teste condicional para calcular o valor do frete
if (valor > 1000)
{
frete = 0;
}

else
{
switch (estado)
{
case "SP": frete = 5;
break;

case "RJ": frete = 10;
break;

case "AM": frete = 20;
break;

default: frete = 15;
break;
}
}

//Armazeno na variável total o valor digitado mais o frete que acabei de calcular
total = valor + frete;

//Armazeno os valores nos respectivos labels
lblValorCompra.Text = valor.ToString("C");
lblValorFrete.Text = frete.ToString("C");
lblValorTotal.Text = total.ToString("C");
}

public void LimparCampos()
{
//Finalizando, crio este método para limpar as variáveis
txtNome.Text = string.Empty;
txtValor.Text = string.Empty;
cboEstado.SelectedValue = string.Empty;
lblValorCompra.Text = string.Empty;
lblValorFrete.Text = string.Empty;
lblValorTotal.Text = string.Empty;
}

private void btnCalcular_Click(object sender, EventArgs e)
{
CalcularFrete();
}

private void btnLimpar_Click(object sender, EventArgs e)
{
LimparCampos();
}
}
}

Como vocês podem ver, não insiro os métodos propriamente ditos nos botões, e sim crio métodos separados e faço a chamada a eles dentro dos botões, como feito com os botões Calcular e Limpar, pois assim acho que o código fica mais estruturado.

Neste exemplo, usei as estruturas de condição switch com case, para ver outro exemplo da utilização deles, visite este blog.

Lembrando que este programa está disponível para download, clicando aqui.

Até o próximo artigo!