Uma melhoria final, seria adicionar um try catch. Isso porque se digitarmos o cpf no seguinte formato, "000. . -00", o nosso programa vai quebrar, mas com o try catch esse problema é resolvido, alem de evitar outros erros:
private void Btn_Validar_Click(object sender, EventArgs e)
{
try
{
string vConteudo = Msk_Cpf.Text.Replace(".", "").Replace("-", "").Trim();
if (vConteudo == String.Empty)
{
MessageBox.Show("CPF não pode estar vazio", "Campo Vazio", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Msk_Cpf.Focus();
return;
}
if (vConteudo.Length != 11)
{
MessageBox.Show("CPF deve conter 11 dígitos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Msk_Cpf.Focus();
return;
}
DialogResult resposta = MessageBox.Show("Deseja validar o CPF?", "Validação", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (resposta == DialogResult.Yes)
{
bool resultado = Cls_Uteis.Valida(Msk_Cpf.Text);
if (resultado)
{
MessageBox.Show("CPF válido", "Validação de CPF", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("CPF inválido", "Validação de CPF", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
catch (Exception ex)
{
MessageBox.Show($"{ex.Message}", "Campo Vazio", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}