Erreur sur le control

Signaler
Messages postés
52
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
14 mai 2020
-
Messages postés
15175
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
1 décembre 2020
-
Bonjour à tous ,

Qui pourrais me dire pourquoi ce code ne marche pas

private void button3_Click(object sender, EventArgs e)
{

foreach ( Control ctl in this.Controls )
{
if ( (typeof(ctl)) is TextBox)
{
ctl.Text = "";

}



}

}
}
Erreur 1 Le type ou le nom d'espace de noms 'ctl' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
Au fait je vais refaire mon algo

Pour tout les control ctl se trouvant dans mon formulaire
Si le Type du ctl est un Textbox
Alors réinitialiser le ctl en vide

Merci et bonne journée

4 réponses

Messages postés
15175
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
1 décembre 2020
465
Bonjour, c'est parce que TypeOf() ne s'applique pas à une variable mais à un type.
Pour Ctl il faut utiliser GetType () et le comparer à TypeOf(textbox):

            foreach (Control ctl in this.Controls)
            {
                if (ctl.GetType() == typeof(TextBox))
                {
                    ctl.Text = "";
                }
            }


Et en utilisant les balises de code, c'est quand même bien plus lisible!

Whismeril
Messages postés
52
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
14 mai 2020

OK d'accord et merci Whismeril
Mais curieusement le code n 'est produit pas l'effet que je veux
Au fait je voudrais ré-initialiser tout mes controls Textbox de mon formulaire en cliquant sur le button3
Messages postés
14884
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
30 novembre 2020
93
Hello,
Dans le code posté, il y a une parenthèse en trop dans le if et une accolade en trop...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
15175
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
1 décembre 2020
465
Mais curieusement le code n 'est produit pas l'effet que je veux
Au fait je voudrais ré-initialiser tout mes controls Textbox de mon formulaire en cliquant sur le button3


le code que je t'ai proposé fait ça, ou je ne comprends pas ta demande.

Whismeril