Chargement dynamique d'un contrôle Textbox

Résolu
blackcatthc
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015
- Modifié par jordane45 le 14/09/2014 à 18:57
 Grady30 - 30 déc. 2019 à 22:29
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

NHenry
Messages postés
14926
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
162
14 sept. 2014 à 19:00
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.
1
Merci pour l'aide
0
jordane45
Messages postés
35428
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
356
14 sept. 2014 à 19:01
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
0
blackcatthc
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

Modifié par blackcatthc le 14/09/2014 à 19:42
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.
0
jordane45
Messages postés
35428
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
356
14 sept. 2014 à 19:52
Nhenry t'a donné la réponse.
0
blackcatthc
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

14 sept. 2014 à 20:52
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.
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
14 sept. 2014 à 21:07
oui oui NHenry t'a donné la réponse...
Tu peux aussi t'intéresser à AddHandler et RemoveHandler pour les événements.
0
blackcatthc
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

14 sept. 2014 à 23:15
Ah oui désolé ^^.
merci
0
NHenry
Messages postés
14926
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
162
14 sept. 2014 à 23:18
Si le problème est résolu, penses à marquer le sujet comme résolu.
0
AmaniDD
Messages postés
4
Date d'inscription
jeudi 11 septembre 2014
Statut
Membre
Dernière intervention
22 septembre 2014

15 sept. 2014 à 08:59
J'ai le même problème que vous. Merci pour toutes ces réponses !
0