IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Trouver le type d'un control de mon formulaire (encore)


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Par défaut Trouver le type d'un control de mon formulaire (encore)
    Bonjour à tous, j'ai encore quelques problèmes avec cette fonction: j'essaie de parcourir tous les éléments de mon formulaire, et mettre la propriété enable à false des textbox et combobox...bref tous ce que l'utilisateur peut changer.....
    je parcours donc tout mes controls de mon formulaire, seulement je ne sais pas comment dire: "si mon objet est un textbox, alors objet.enabled=false;
    voici ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach (Object obj in this.Controls)
    	{
     
    		//ma condition avec obj.getType(), 
    	}
    j'ai essayer avec System.TypeCode, seulement ça me donne des type char, string...et non des textbox....quelle est donc la propriété qui me permet de dire "type textbox, ou combobox"
    merci de me répondre
    bye
    shyria

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Par défaut
    Comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach (Object obj in this.Controls)
    	{
     
    	 if (obj.gettype() == typeof(TextBox))
                    (obj as TextBox).enabled = false;
    	}

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Par défaut
    Merci...
    seulement là j'ai un autre problème: Est-ce que ma boucle foreach ne parcours que 2 contrôles..je ne crois même pas que ce soit des contrôle de ma page.... pourtant, j'ai plus de 30 contrôles... C'est un user Control est ce que ça aurait un a rapport avec mon problème? je fais pourtant bien this.Controls

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 131
    Par défaut
    Les 30 controles sont dans le user control?

  5. #5
    Membre très actif
    Inscrit en
    Janvier 2004
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 208
    Par défaut
    a partir du moment ou tu ecris this c'est la page.

    par contre si tu fais un foreach sur ton usercontrol a partir de la page

    tu devras proceder de cette facon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach(Object obj in this.tonusercontrol.controls)
    {
            ...
    }
    tu peux meme testé les textbox de la page et du usercontrol en meme temps

  6. #6
    Membre Expert

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Par défaut
    Fais une méthode récursive

    private void MaMethod(ControlCollection controls)
    {
    foreach (Control control in controls)
    if ((control.GetType() == typeof(TextBox)) || (control.GetType() == typeof(ComboBox)))
    {
    control.Enabled = false;
    MaMethod(control.Controls);
    }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/02/2011, 18h37
  2. Type "groupe de controles" dans une function
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 20/06/2008, 21h07
  3. Combien de controles dans mon formulaire
    Par Renardo dans le forum IHM
    Réponses: 4
    Dernier message: 02/12/2007, 22h50
  4. Trouver le Type d'une classe template dynamiquement ?
    Par Serge Iovleff dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2005, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo