Remplir un tableau a l'aide de textbox de façon automatique

Résolu
cs_lvl Messages postés 17 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 7 août 2007 - 21 juil. 2007 à 05:08
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 22 juil. 2007 à 11:05
Bonjour a tous.




<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 






J’ai une petite question, comment remplir un tableau a l’aide de multiple textbox tout ce la de façon dynamique car mes textes textbox se génère selon ce que l’opérateur a de besoin. Je ne veux pas être obligé de faire ceci




 







 







        crossover(0, 0) = TextBox1.Text






        crossover(0, 1) = TextBox2.Text






        crossover(0, 2) = TextBox3.Text






        crossover(0, 3) = TextBox4.Text






        crossover(0, 4) = TextBox5.Text






        crossover(0, 5) = TextBox6.Text






        crossover(0, 6) = TextBox7.Text






        crossover(0, 7) = TextBox8.Text






        crossover(1, 0) = TextBox9.Text






        crossover(1, 1) = TextBox10.Text






        crossover(1, 2) = TextBox11.Text






        crossover(1, 3) = TextBox12.Text






        crossover(1, 4) = TextBox13.Text






        crossover(1, 5) = TextBox14.Text






       

crossover(1, 6) = TextBox15.Text






        crossover(1, 7) = TextBox16.Text






 






Car comme je ne sais pas la grandeur de mon tableau que je vais avoir besoin c’est pratiquement inpossible de la faire d’avance. De plus j’ai assayer de faire une bouque mais je ne suis pas capable de mettre une variable dans le nom de non textBox






 






Ex crossover(i, j) = TextBox(K).Text






 






Si un parmis vous pourrait maider ceci serait grandement apprécier.





Petite précusion je fonctionne avec VB 2005






 






Merci a tous

3 réponses

ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
21 juil. 2007 à 17:35
Salut

En vb.net, on ne peut plus utiliser TextBox(x).text.

il te faut faire un truc du genre (je te recopie un code que j'avais fais pour exemple): 

' Mon exemple est une sorte de calculette ou de caisse enregistreuse qui affiche les touches avec les nom des articles + le prix; lorsque l'on click sur une touche ça affiche l'article et le prix dans un RichTextBoxAffichage et ça donne le montant dans  LabelTotal.

Public
Class Form1

Public Tab(24)
As Control ' Donne ici  le nombre d'objet à afficher

'Affiche les objets lors de l'ouverture de la page, les objets sont rangé par rangé de 5 puis passe a la ligne et en range a nouveau 5
Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

Dim Nav
As
Integer
Dim NumVer
As
Integer = 20

Dim NumHor
As
Integer = 0

For Nav = 0
To 24 ' recupere le même chiffre que dans Public Tab(24) As
Control

Tab(Nav) = New Label  'ou TextBox ou bouton ou ce que tu veux
Controls.Add(Tab(Nav))

If NumHor > 4
Then
NumHor = 0
NumVer += 60

End
IfTab(Nav).Left = 20 + NumHor * 60
Tab(Nav).Top = NumVer
Tab(Nav).Height = 52
Tab(Nav).Width = 50
Tab(Nav).BackColor = Color.Aqua
Tab(Nav).Text =

"Produ " + Str(Nav) + Chr(10) + Chr(10) +
" " + Str(Nav * 2.1) +
"?"
Tab(Nav).BringToFront()

AddHandler Tab(Nav).Click,
AddressOf BoutonClique
NumHor += 1

Next Nav

End
Sub

' Voici le code pour recupe le click du label
Sub BoutonClique(
ByVal Sender
As
Object,
ByVal e
As EventArgs)

Dim Name, Name1
As
String
Dim Start
As
Integer
Dim Fin
As
Integer
Dim Prix
As
String
Dim Prix1
As
Single
Name = Sender.text
Start = Name.IndexOf(Chr(10))
Fin = Name.Length
Name1 = Name.Remove(Start, (Fin - Start))
Name = Sender.text
Start = Name.IndexOf(Chr(10))
Fin = Name.Length
Prix = Name.Remove(0, (Fin - Start))
Fin = Prix.Length
Prix1 = Prix.Remove(Fin - 1, 1).Trim
Total = Total + Prix1
RichTextBoxAffichage.Text += Name1 & vbTab & vbTab &
String.Format(
"{0:C}", Prix1) & vbCr
LabelTotal.Text =
String.Format(
"{0:N2}", Total) +
" ?"
End
SubEnd

ClassIl te faut
une form1.size =600; 360

il te faut
 un RichTextBoxAffichage.size=230; 220
 un RichTextBoxAffichage.location=350; 25

il te faut
un LabelTotal.size= 90; 25
Un LabelTotal.location=490; 260

Dans la partie de Gauche va s'afficher les Label que tu vas créer dynamiquement.

A+
MANUANTIBES [:p]
3
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
22 juil. 2007 à 11:05
Tiens j'ai mis en ligne, l'exemple ci-dessus.

http://www.vbfrance.com/codes/AFFICHER-NOMBRE-BOUTON-DYNAMIQUEMENT-SUR-VOTRE-FORM_43533.aspx

A+
MANUANTIBES [:p]
3
cs_lvl Messages postés 17 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 7 août 2007
22 juil. 2007 à 09:46
merci ca ma vraiment été utile

lv
0
Rejoignez-nous