Geralmente quando queremos limpar os campos de um formulario, acessamos controle por controle e setamos sua propriedade Text para uma string vazia ou usamos o metodo Clear.
Há uma outra maneira simples de se fazer isso, basta usarmos Recursividade, de acordo com a Wikipedia (http://pt.wikipedia.org/wiki/Recursividade) Recursividade é um método de programação no qual uma função pode chamar a si mesma.
Imagine agora um formulário de cadastro de clientes por exemplo, com mais de 20 textbox para ler limpadas após terminar o cadastro, do modo antigo teriamos de acessar uma por uma e mudar suas propriedades, seria mais ou menos assim :
txtNome.Text = String.Empty;
txtIdade.Clear();
txtEndereco.Clear();
txtBairro.Text = "";
Há varias maneiras de se limpar um campo.
Agora para limpar esse formulario podemos usar a função abaixo:
private void LimpaCamposFormulario(Control.ControlCollection controles)
{
foreach ( Control ctrl in controles )
{
if ( ctrl is TextBox )
{
((TextBox)(ctrl)).Clear( );
}
LimpaCamposFormulario( ctrl.Controls );
}
}
Explicação:
Ele executa um ForEach percorrendo cada controle do objeto, se o controle for do tipo TextBox, ele executa o metodo Clear para limpar ele,e após isso, ele chama novamente a mesma função, passando como objeto o controle que ele esta verificando agora.
De onde executar esse método ?
Podemos colocar ele apos o evento salvar de nosso formulario ou de uma maneira simples, usando um botão "Limpar" e executar essa função.
LimpaCamposFormulario(this.Controls);
Até a Próxima
Thiago Silva Santos
C# Developer
Microsoft Student Partner (MSP)
Microsoft Certified Professional (MCP) | SQL SERVER 2005
Microsoft Certified Technology Specialist (MCTS) | SQL SERVER 2005
| Comentários |
|
|
|||||||||||
|
|||||||||||
|
|||||||||||
Tweet me!