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

C# Discussion :

accéder à des composants dynamiquement


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut accéder à des composants dynamiquement
    Bonjour,

    Est-il possible d'accéder dynamiquement à des composants, tels que lest textbox, se trouvant sur une forme ?
    Ex : le premier champ se nomme montext_1 et le second montext_2.

    je veux les accéder dans une boucle pour les attribuer des valeurs ou bien pour récupérer les valeurs qui s'y trouvent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (int i = 0; i < nombreCol; i++){
       //avoir accès à ("montext_" + nombreCol)
    }

    merçi, j'espère que j'étais assez clair.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    salut

    cherches un peu sur les forums, la question a déja été posée

    Sinon, regardes du coté du membre "Controls" de la form...

    The Monz, Toulouse

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Salut, tu peut parcourir tout les Controls de la Form dans une boucle, vérifier le type, si c'est un Textbox récupérer sa valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    string valeur="";
    foreach (Control control in frm.Controls)  //frm est le Form contenant les composants
                {
                    if (control.GetType().ToString().Equals("System.Windows.Forms.TextBox"))
                    {
                        TextBox tb = new TextBox();
                        tb = (TextBox)control;
                        valeur=tb.Text;
                    }
                }

  4. #4
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    merçi à tous les deux. c vrai qu'il est toujours mieux de chercher par soit même
    que de vous servir sur un plat tout fait. le problème c'est que je ne savais pas par où commençer.

    je vais essayer tout de suite ce que tu m'as donné CodeMan et on verra.

    encore merçi

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Version améliorée du code de CodeMan:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (control is TextBox)
    {
           TextBox tb = (TextBox)control;
            valeur=tb.Text;
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Points : 68
    Points
    68
    Par défaut
    Bonjour,
    petite question en rapport avec ce sujet
    il vaut mieux ecrire :
    ou
    ?
    Cédric

  7. #7
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Un cast statique déclenche une exception en cas d'échec du cast.
    Un cast dynamique (avec l'opérateur as) renvoie null si le cast échoue.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Points : 68
    Points
    68
    Par défaut
    Merci pour ta réponse. C'est la "seule" grosse différence ?
    Cédric

  9. #9
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par Cedric33 Voir le message
    Merci pour ta réponse. C'est la "seule" grosse différence ?
    Cédric
    Elle me semble déjà assez fondamentale comme ça, non ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Points : 68
    Points
    68
    Par défaut
    J'ai pas dit le contraire. En fait je voulais parler de l'utilisation de la mémoire en disant ça

  11. #11
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par Cedric33 Voir le message
    J'ai pas dit le contraire. En fait je voulais parler de l'utilisation de la mémoire en disant ça
    Non, pas de changement de ce côté là.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Points : 68
    Points
    68
    Par défaut
    OK merci pour ta réponse
    Cédric

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/04/2013, 09h47
  2. [Débutant] Rechargement de la page et des composants dynamiques
    Par MaximePalmisano dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/09/2011, 14h37
  3. Créer des composants dynamiquement déplaçables ?
    Par nazimyenier dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 12/08/2009, 14h57
  4. Réponses: 5
    Dernier message: 19/02/2007, 15h44
  5. [JTabbedPane] Accès à des composants dynamiques
    Par SamRay1024 dans le forum Composants
    Réponses: 8
    Dernier message: 26/05/2004, 13h04

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