Chargement dynamique d'un contrôle Textbox [Résolu]

Signaler
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015
-
 Grady30 -
Bonjour,

Je viens de passer à visual studio 2013 après avoir programmer des années sur VB6 et je n'arrive pas à charger un groupe de contrôle textbox.
Sur VB6 je faisais cela :
     for n = 1 to 10
         Load textbox1(n)
     next n 

Comment faut-il faire ? est-on obligé de créer tout ses boutons manuellement ?

Edit : Ajout des balises de code !
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

4 réponses

Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
143
Bonjour,

En .NET c'est largement simplifié et plus souple :
Dim MonTextBox As TextBox=new TextBox()
MonConteneur.Controls.Add(MonTextBox)
MonTextBox.Top=... 
MonTextBox.Left=... 
MonTextBox.Height=... 
MonTextBox.Width=... 
MonTextBox.Visible=True
MonTextBox.Text="MonTexte"


Tu peux aussi t'intéresser à AddHandler et RemoveHandler pour les événements.
Merci pour l'aide
Messages postés
28939
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juillet 2020
332
Bonjour

Quand tu dis vouloir "charger" des textbox... tu veux dire... les CREER dynamiquement ?

As-tu regardé sur le net ?
http://lmgtfy.com/?q=vb.net+create+textbox+dynamically

http://vb.net-informations.com/gui/dynamic-controls-vb.htm
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

Oui voila c'est presque ça que je souhaitais faire.
Pour être un peu plus clair sur vb6 je pouvais à partir d'une textbox1(0) crée manuellement à partir de la souris sur mon form en crée par exemple 3 autre qui avait le même non mais un numéro d'index différent.
Exemple :

Private Sub Form_Load()
Dim n As Integer
For n = 1 To 3
Load TextBox(n)
TextBox(n).Visible = True
Next n
End Sub

Private Sub Textbox_Click(Index As Integer)
Select Case Index
Case 0

Case 1

Case 2

Case 3

End Select
End Sub
ET de cette manière je pouvais récupérer l'évènement d'un click sur l'une de mes 4 textbox dans la même private sub. Et là sur vb.net je n'est aucune idée de comment faire ça.
J'espère avoir été plus clair cette fois ci.
Messages postés
28939
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juillet 2020
332
Nhenry t'a donné la réponse.
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

Oui j'arrive bien à créer mes 4 textbox de même nom avec un index différent, ça c'est bon.
Mais par exemple j'arrive pas à récupérer l'évènement "Private sub Textbox1_Click(Index as integer)" contrairement à quand je crée une textbox directement sur le form dans la fenêtre de création et qu'ensuite je click dessus.
Messages postés
14476
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 juillet 2020
420
oui oui NHenry t'a donné la réponse...
Tu peux aussi t'intéresser à AddHandler et RemoveHandler pour les événements.
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

Ah oui désolé ^^.
merci
Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
143
Si le problème est résolu, penses à marquer le sujet comme résolu.
Messages postés
4
Date d'inscription
jeudi 11 septembre 2014
Statut
Membre
Dernière intervention
22 septembre 2014

J'ai le même problème que vous. Merci pour toutes ces réponses !