Jump to content

Validar campos alterados


samesdavis
 Share

Go to solution Solved by He B TeMy,

Recommended Posts

Olá pessoal,

Estou desenvolvendo uma aplicação windows forms no C#, preciso da ajuda de vocês.

Tenho um form de cadastro de clientes, nele tenho um botão GRAVAR.

Desejo que esse botão fique habilitado APENAS se houver alteração em qualquer um dos campos do form.

Por exemplo: no campo de nome, o valor antigo era "Sames davis" e eu alterei para "Sames Davis"

então o botão GRAVAR ficará habilitado para eu gravar os dados. E depois que eu clicar em gravar, ele volta a ficar desabilitado.

Mas se depois que eu alterar e não clicar em gravar e resolver voltar ao valor anterior, o botão deverá voltar a ficar desabilitado.

Tenho mais de 50 campos no form, preciso de conhecer uma forma de não ter que entrar campo a campo e colocar o código no evento changed e habilitar ou desabilitar esse botão.

Alguém pode me dar essa ajuda?

Obrigado.

Link to comment
Share on other sites

Torna-se complicado com o teu segundo ponto... queres que o botão seja reactivado caso as acções sejam revertidas... não tou a ver nenhuma opção sem teres que gravar os dados dos campos todos.

Se fosse só o caso de ser modificado, dependendo dos campos mas se fossem maior parte ou todos do mesmo tipo (textbox ou isso) podias meter uma void a 'receber' evento de todos os controls, e activares/desactivares o botão... mas se precisas também de reverter torna-se complicado.

Porque não crias outro botão com a opção de reverter mudanças em vez disso? Torna-se mais simples para ti.

Link to comment
Share on other sites

  • Solution

Se todos os controlos forem do mesmo tipo (ou se não podes agrupar) podes juntar os eventos TextChanged só num bloco de código... ou seja, alguma coisa assim:

textbox.textchanged += new EventHandler(NomeDoTeuEvento);
textbox2.textchanged += new EventHandler(NomeDoTeuEvento);

tens de fazer isto para todos os controlos, mas o evento apenas será chamado no

NomeDoTeuEvento

o que te deve facilitar a vida.

Isto é se não quiseres a função de ao reverter 'manualmente' o botão desactivar outra vez, porque aí não tou a ver outra hipótese sem ser um evento separado para cada campo.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.