Textbox dynamique

Signaler
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Bonjour à tous,



J'ai besoin de créer 100 textbox voir plus,je les ais créer à la main
mais ca va pas je me retrouve avec des switch de malade.







Est ce que créer des textboxs
automatiquement en faisant une boucle et mettant parralelement
les textboxs ainsi créer dans une arraylist pour pouvoir les retrouver
est une bonne idée ? En faite j'ai un combobox avec un numéro de 1 à
100 (voir + ) le gars choisi ce qu'il veut il fait suivant et là les
textboxs apparaissent en fonction de son choix. Et pour pouvoir les
effacer je fais mon_panel.Clear().









Ex :









for (
int i = 0 ; i
<cb_choix.SelectedIndex+1 ; i++)


{


TextBox mon_textbox =
new System::Windows::Forms::TextBox();


mon_textbox.location = System::Drawing::Point(112, 8+i*15);


mon_textbox.Name = S"cb_branche1";


mon_textbox.Size = System::Drawing::Size(96, 20);


mon_textbox.TabIndex = 8;


mon_textbox.Text = S"";


panel.Add(mon_textbox) ;


ma_liste_de_bouton.Add(mon_textbox) ;


}



Qu'en pensez vous ?



Par avance, merci.

6 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
merci de ta réponse, une dernière chose : a chaque fois que
l'utilisateur choisi dans le combobox le nombre de textbox qu'il veut
il appui sur suivant donc il faut que je fasse disparaire mes anciencs
textbox (si il y en a). J'ai pensé à faire :



mon_panel.Controls.Clear() ;



ca marche.... enfin pendant 4 essai parceque au bout d'un moment il me
dit que la reference d'objet n'est pas défini à une instance
d'objet.... sans réussir à me montrer le bout de code qui ne va pas.



Comment les faire disparaitres dans ce cas ?



Par avance, merci.
Messages postés
18
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
3 mars 2009

Salut emmanuel9,



pourquoi est-ce que tu n'essais pas plutot
d'utiliser un datagrid ? plutot que tout plein de textbox, se sera peut
être plus simple à gérer.





A+
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
C'est sur mais ca a été imposer comme ca
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Supprimer le controle de la liste de controles du Panel ne le supprime pas de ton ArrayList, ton problème vient de là je pense.

/*
coq
MVP Visual C#
*/
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
J'ai essaye ca :



J'ai une arraylist de textbox que je remplis parrallèment et chaque
fois que l' utilisateur appuis sur suivant je parcours mon arraylist de
textbox nommé mesTextBox pour les enlevé du panel. (C'est du C++.net
c'est pareil, j'ai eu la flemme de convertir)



for (int i = 0 ; i <mesTextBox->get_Count() ; i++)

{



cb_panel_nom_branche->Controls->Remove(dynamic_cast<TextBox*>(mesTextBox->get_Item(i)))
;

}



for (int i = 0 ; i <cb_choix->SelectedIndex+1 ; i++)

{


TextBox *
mon_textbox = new System::Windows::Forms::TextBox();



mon_textbox->Location = System::Drawing::Point(112, 8+i*30);



mon_textbox->Name = String::Concat("cb",Convert::ToString(i)) ;



mon_textbox->Size = System::Drawing::Size(96, 20);



mon_textbox->TabIndex = 8;



mon_textbox->Text = S"";



mesTextBox->Add(mon_textbox) ;



cb_panel_nom_branche->Controls->Add(mon_textbox) ;

}



J'ai pas trop vu l'interet du hashtable (hashtable = arraylist + deux
objets : identifiant ET objets ?) en faite dans mon cas à la
limite ca sert même à rien de donné un nom au textbox... Qu'en
pensez vous ?