Erreur sur le control

levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020 - 18 mars 2013 à 11:20
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 18 mars 2013 à 18:18
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

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
18 mars 2013 à 11:39
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
0
levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020
18 mars 2013 à 11:59
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
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
18 mars 2013 à 12:02
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...
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
18 mars 2013 à 18:18
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
0
Rejoignez-nous