foreach para limpar todos textBox

.NET

21/07/2008

Olá amigos, as vezes perdemos um tempão limpando os campos do formulário... Fiz um teste com o foreach abaixo mas ele não funcionou

foreach (Control c in this.Controls)
{
if (c is TextBox)
(c as TextBox).Text = ´´;
}

Alguém sabe como fazer um foreach de forma a limpar todos os campos do formulário?

Grato,
Lex.


Buenolex

Buenolex

Curtidas 0

Respostas

Gilberto_lg

Gilberto_lg

21/07/2008

Estranho...mas tenta com o for normal...

Tenta criar um group box e coloca os campos nele, acho q fica melhor...

ou então tenta com o for normal...ve se dá certo esse codigo:

for (int i=0; i <= this.Controls.Count -1; i++)
{
if (this.Controls[i] is TextBox)
(this.Controls[i] as TextBox).Text = ´´;
if (this.Controls[i] is ComboBox)
(this.Controls[i] as ComboBox).SelectedIndex = -1;
//....etc
}

abrçs


GOSTEI 0
Ricardo Silva

Ricardo Silva

21/07/2008

nesse codigo vc esta fazendo em apenas um controle...

ou seja se vc tem dois panel e os TextBox esta no segundo Panel... esse foreach não atinge o segundo Panel...

portanto vc tera que colocar esse codigo dentro de um outro Loop para percorrer totos os controles...
não sei se vc entendeu..

mas na duvida soh posta


GOSTEI 0
Fabio Macieira

Fabio Macieira

21/07/2008

Boa noite a todos

Meu amigo Buenolex,
preencha seu código assim.

 /* onde controle é o sua variável  c */
foreach (var controle in this.Controls)
            {
                if (controle is TextBox)
                {
                    ((TextBox)controle).Clear();
                }
            }

espero ter ajudado.
GOSTEI 0
POSTAR