Evento
É uma ação percebida pelo formulário: clique em botão, mudança de valor, marcação de opção ou digitação em um campo.
Em uma aplicação Windows Forms, o usuário não segue uma sequência fixa como no Console. Ele clica, marca opções, muda números e espera que a tela responda. Um evento é exatamente esse momento em que alguma coisa acontece no formulário e o nosso código entra em ação.
É uma ação percebida pelo formulário: clique em botão, mudança de valor, marcação de opção ou digitação em um campo.
É uma peça da tela. Exemplos: botão, label, caixa numérica, checkbox e radio button.
É o método que roda quando o evento acontece. Normalmente ele termina com nomes como _Click ou _ValueChanged.
Ele clica em um botão, altera um NumericUpDown, marca um CheckBox ou escolhe um RadioButton.
O Windows Forms percebe que algo mudou e dispara o evento correspondente.
Dentro desse método, você lê os valores da tela, faz cálculos e atualiza labels, botões ou outros componentes.
| Componente | Quando usar | Propriedades úteis | Evento comum |
|---|---|---|---|
NumericUpDown |
Quando o usuário deve informar um número com limite mínimo, máximo ou casas decimais. | Value, Minimum, Maximum, DecimalPlaces |
ValueChanged |
CheckBox |
Quando uma opção pode estar marcada ou desmarcada, sem depender de outra opção. | Checked, Text |
CheckedChanged |
RadioButton |
Quando o usuário deve escolher uma opção dentro de um grupo de alternativas. | Checked, Text |
CheckedChanged |
CheckBox e RadioButton parecem parecidos, mas resolvem problemas diferentes.
Use CheckBox para escolhas independentes. Use RadioButton quando apenas uma
alternativa deve ficar ativa dentro daquele grupo.
Os exemplos abaixo mostram a ideia principal. O nome dos componentes no seu projeto pode ser diferente, mas a lógica é a mesma: ler a propriedade certa, decidir o que fazer e escrever o resultado na tela.
private void btnCalcular_Click(object sender, EventArgs e)
{
double raio = Convert.ToDouble(numRaio.Value);
double area = Math.PI * Math.Pow(raio, 2);
lblResultado.Text = "Área: " + area.ToString("F2");
}
private void chkMostrarDetalhes_CheckedChanged(object sender, EventArgs e)
{
if (chkMostrarDetalhes.Checked)
{
lblDetalhes.Text = "Mostrando detalhes do cálculo.";
}
else
{
lblDetalhes.Text = "";
}
}
private void btnCalcular_Click(object sender, EventArgs e)
{
double numero = Convert.ToDouble(numValor.Value);
double resultado;
if (rdbRaiz.Checked)
{
resultado = Math.Sqrt(numero);
}
else if (rdbQuadrado.Checked)
{
resultado = Math.Pow(numero, 2);
}
else
{
resultado = numero;
}
lblResultado.Text = resultado.ToString("F2");
}
Click do botão calcular. Ainda assim,
conhecer ValueChanged e CheckedChanged ajuda a criar telas mais vivas,
que reagem assim que o usuário altera algum componente.