Array
(
)

Como limpar campos de forma genérica

Itamar Souza
   - 17 dez 2013

Como limpar campos de forma genérica no C#?
Amigos
Pesquisando na internet encontrei um método em C# para limpar todos os campos de um formulário, mais a dúvida é como utilizar ele para um projeto web, visto que tem uma passagem de um parâmetro do tipo form, como poderia adaptar ele ? Outra questão é na chamada do método ficaria assim: LimparCampos(this); mais se eu adicionar este método em outra classe como poderia chamar o método corretamente?

Agradeço desde já.

public void LimparCampos(Form frm)
{
foreach (Control item in frm.Controls)
{
if (item is TextBox)
((TextBox)item).Text = "";
else if (item is ComboBox)
((ComboBox)item).SelectedIndex = -1;
else if (item is DateTimePicker)
item.Text = "";
else if (item is GroupBox)
{
for (int i = 0; i < item.Controls.Count; i++)
{
if (item.Controls is TextBox)
{
(item.Controls as TextBox).Text = "";
}
if (item.Controls is ComboBox)
{
(item.Controls as ComboBox).SelectedIndex = -1;
}
if (item.Controls is ComboBox)
{
(item.Controls as ComboBox).SelectedValue = -1;
}
if (item.Controls is DateTimePicker)
{
(item.Controls as DateTimePicker).Text = "";
}
}
}
}
}

Joel Rodrigues
   - 19 dez 2013

Em um projeto Web você pode colocar os inputs em um <form> e usar um <input type="reset"/> para limpar o form.