[VB.net] Question sur les textbox et les index

MaDzA Messages postés 20 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 13 septembre 2005 - 10 août 2005 à 23:58
MaDzA Messages postés 20 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 13 septembre 2005 - 13 août 2005 à 20:25
Voilà, ma question est toute simple, je voudrais savoir s'il est possible (comme sous VB6) d'indexer plusieur textbox.
merci pour vootre réponse
a++
MaDzA

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 août 2005 à 08:54
Salut,

Il est possible de le faire mais non recommandé.

Pour cela il faut utiliser les textboxarray

Apres comment l'utiliser je te laisse chercher car, je ne l'utilise jamais

C'est non recommandé car les controles ne sont pas full DOTNET (code managed)



Pour faire, je pense ce que tu veux. (version plus correcte)

Tu plug tous les handles sur la meme procedure



Private sub ................ handles textbox1.click, textbox2.clik



et apres tu analyse le sender



dim name = directcast(sender,Control).name

if name.equals(textbox1.name) then

......

end if





Esperant avoir repondu à ta question.

Sinon explique plus ce que tu veux faire.

Pourquoi relier les textbox par leur index
0
MaDzA Messages postés 20 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 13 septembre 2005 1
11 août 2005 à 10:21
Merci pour ta réponse nhervagault. J'ai regarder les textboxarray mais franchement j'ai pas trop vu ce qu'il fallais bricoller avec! Sinon mon idée c'était de remplir un grand nombre de textbox a l'aide par exemple un fichier xml, en ecrivant juste une simple boucle.
a++
MaDzA
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 août 2005 à 13:55
Salut

Tu peux les créer à la main les textbox.



Dim txt_box as new textbox



txt_box.location =

ou

txt_box.left txt_box.top

me;controls.add(txt_box)



voila
0
MaDzA Messages postés 20 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 13 septembre 2005 1
11 août 2005 à 14:23
Ok mais après par exemple si je veux ajouter toutes les valeurs qu'il y a dans les textbox, je ne peux pas le faire avec une boucle si?
Merci pour tes tuyaux!!
a++
MaDzA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 août 2005 à 20:20
Salut



Il y a peutetre moyen de faire sans table de hash.

Tu peux aussi utiliser une arraylist

Mais la mission est remplie !!!



Le code n'est pas tres propre (option strict a off) mais il fonctionne.

Le resultat est 15





Public hash As New Hashtable()

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i As Int32

For i = 0 To 5

Dim b As New TextBox()

b.Top = i * 25

b.Left = 600

b.Name = "b" & i

b.Text = i

AddHandler b.Click, AddressOf Button_Click

hash.Add(i, b)

Me.Controls.Add(b)

Next



End Sub



Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)



MessageBox.Show("bonjour" & DirectCast(sender, TextBox).Name)

Dim i As Integer

Dim t As TextBox

For Each t In hash.Values

i = i + t.Text

Next



MessageBox.Show("la somme est " & i)

End Sub



Voila
0
MaDzA Messages postés 20 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 13 septembre 2005 1
13 août 2005 à 20:25
ok merci beaucoup, je garde bien ce code et je me pencherais dessus quand j'en aurais besoin (peu être pas dans très longtemps!!!)
a++
MaDzA
0
Rejoignez-nous