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

Windows Forms Discussion :

Ajout dynamique de TextBox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Par défaut Ajout dynamique de TextBox
    Bonjour,

    j'ai un petit soucis avec des winforms. Je dois ajouter dans un panel des TextBox en fonction d'un nombre défini par l'utilisateur (en fait le nombre de paramètres qu'il peut définir).

    J'ai donc créé mon panel et à l'ouverture de ma fenêtre j'essaye de créer un tableau de TextBox de la taille du nombre de paramètres. Jusque là aucun soucis.

    Ensuite dans une boucle je créé mon TextBox (new TextBox()), je le paramètre (text, name) puis j'essaye de l'insérer dans mon panel à l'aide de la méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     panel1.Controls.Add(parametres[i]);
    La compilation se passe sans problème. Lors de l'exécution, mon panel n'affiche toujours qu'UN SEUL TextBox, quelque soit le nombre de paramètres désirés. Par contre si j'affiche dans la console le nombre de contrôles que contient le panel il me l'affiche juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Console.Write("Panel :" + panel1.Controls.Count.ToString());
    J'ai cherché sur le net, mais je n'ai trouvé aucun problème de ce genre.

    Merci d'avance pour vos réponses

    Mselle

  2. #2
    Membre expérimenté Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Par défaut
    salut,

    tu doit ajouter cette propriete a ton code : who.Location = New System.Drawing.Point(304, y), et dans ta boucle tu incremente le y, sinon je te file tout le code.

    Dim who As New ComboBox

    bonne chance

  3. #3
    Membre éclairé

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Par défaut
    Ok je vais essayer et je vous redis si cela fonctionne.

    Merci pour la réponse rapide

  4. #4
    Membre éclairé

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Par défaut Cela ne marche toujours pas
    Voilà j'ai eu le temps de tester. Alors effectivement, j'arrive à attribuer la propriété "Location" à mes textBox et lorsque j'affiche cette propriété cela fonctionne mais le textbox ne s'affiche toujours pas.
    Cette fois plus rien du tout ne s'affiche.
    J'ai également essayé de mettre la propriété "visible" à true mais cela ne change rien.

    La ligne suivante affiche bien la position du textBox parametres[0] mais il n'est pas affiché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Console.Write(parametres[0].Location.ToString());
    J'imagine que cela doit être une propriété à modifier dans mon composant mais je ne vois pas laquelle. Ou alors je m'y prend mal et cela ne fonctionne pas.

  5. #5
    Membre éclairé

    Inscrit en
    Septembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2006
    Messages : 74
    Par défaut Résolu!
    Voilà je viens de résoudre mon problème!
    En fait, mon erreur était d'insérer les textBox avec des "locations" relatives à ma fenêtre alors que le paramètre "location" doit être défini par rapport à mon panel!

    Donc voilà comment j'insère mes textBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     for(int i=0;i<parametres.Length;i++)
                {
                   parametres[i] = new TextBox();
                   System.Drawing.Point locText =
                       new System.Drawing.Point(0,(i*25));
     
                   parametres[i].Location = locText;
                   parametres[i].Name = "parametre" + i;
                   panel1.Controls.Add(parametres[i]);
     
                }

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 31/07/2013, 23h32
  2. Ajout dynamique de textbox
    Par SonnyFab dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/07/2011, 10h56
  3. Réponses: 2
    Dernier message: 05/08/2008, 15h19
  4. pb avec l'ajout dynamique d'un textbox
    Par HAFNI84 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/05/2008, 14h01
  5. Ajout dynamique de textbox sur un step Wizard
    Par thierry007 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 31/10/2007, 17h44

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