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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
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 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
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 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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
Rejoignez-nous