Array
(
)

Cancelando evento Validating ao clicar em um algum botão.

Elessandro Poças
   - 23 mar 2015

Olá todos,
Tenho um formulário que possui em evento Validating em um maskedtextbox para validar se o CNPJ é válido. A validação ocorre sem problemas. A questão é como eu possa cancelar essa validação ao clicar em um botão, que no caso seria o btnCancelar.
Segue abaixo código que estou usando.
private void mtbCnpj_Validating(object sender, CancelEventArgs e)
{
TRSUtil trsUtil = new TRSUtil();
if (trsUtil.ValidarCnpj(mtbCnpj.Text) == true)
txtIe.Focus();
else
{
MessageBox.Show("CNPJ Inválido", "SIGPRO - Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
mtbCnpj.Clear();
mtbCnpj.Focus();
}
}
Aplicação é WindowsForm.
Linguagem C#.

Jothaz
   - 23 mar 2015

Não sei se entendi o que você quer!

Você deve ter um botão gravar ou algo parecido?

Então ao invés de fazer a validação no mtbCnpj_Validating faça no click do botão gravar.

Assim quando você clicar em cancelar não irá rodar o método de validação.

Elessandro Poças
   - 23 mar 2015

Jothaz,

Obrigado pela resposta. O problema é que quando vai se cadastrar um novo cliente ou empresa, a um requisito que exija que quando se informe o CPF ou Cnpj seja feita a validação e uma consulta no banco de dados, em que caso exista o mesmo deve-se preencher os campos do formulário.

Jothaz
   - 23 mar 2015

Como não sei o desenho da sua tela fica difícil sugerir algo.

Agora com Validating ou mesmo LostFocus você só vai conseguir cancelar ou fechar o form se informar um campo com conteúdo válido.

O que posso sugerir as cegas é:

Crie um campo para pesquisar o CPF/CNPJ.
Desabilite todos os campos e deixe somente o de CPF/CNPJ habilitado.
Crie um botão salvar e oculte.
Crie um botão pesquisar e nele coloque a chamada a validação e pesquisa.
Se existir preencha os campos e habilite e desabilite o CPF/CNPJ. Exiba um botão salvar.
Senão existe exiba mensagem perguntando se quer cadastrar. Se quiser habilite os campos com valor vazio e desabilite o CPF/CNPJ. Exiba um botão salvar.
Crie o botão cancelar para desistir da operação.

Isto é somente um ideia de como pode ser feito e lembre-se os requisitos dizem somente o que fazer o como quem define é o desenvolvedor.