[ ceso @ 05.05.2010. 22:55 ] @
Pokušavam kreirati texbox pomoću petlje For nešto poput ovoga

Dim I As Integer
Dim pozicijax As String
pozicijax = 50
Dim myTextBox = (New System.Windows.Forms.TextBox)
For I = 1 To txtNumber.Text
pozicijax = pozicijax + 80
myTextBox.Name = "txtDynamic" & I
myTextBox.Text = I
myTextBox.Location = New Point(pozicijax, 390)
Me.Controls.Add(myTextBox)

Next I

Međutim uvjek mi se pokaže samo zadnji u nizu. Kada dodam nešto kao ovo:

MsgBox("This line has been repeated " & I & " times")

Onda mi se pokazuju svi ali i nestanu osim zadnjeg kada kliknem na MsgBox.Cilj ovoga je da iz tablice učitavam podatke iz svakog djela posebno u taj texbox i razmještam ih kako ja hoću a kasnije da to primjenim u DIV tagovima(ASP) ili sl.Bilo bi super ako netko zna da mi malo pomogne ili neke druge ideje kako bi se to moglo napraviti.
[ lonelyrider_44 @ 05.05.2010. 23:18 ] @
Ideja ti je ok, ali poshto samo jednom instancirash myTextBox, onda se
ustvari sve vreme menja taj jedan txtBox, kojem u svakoj iteraciji menjash
poziciju, ime, text. Znachi, da bi dodao 3 (npr) textbox-a, treba tri puta
da uradish new, tj. da instancirash (ili kreirash) novi objekat (sa New)
koji cesh dodeliti uvek myTextbox-u. U suprotnom, kada pozivash
Me.Controls.Add(myTextBox) to ce se izvrshiti samo prvi put, posle nece
jer adresa tog objekta koji si prvi put dodao, sledeci put se nece dodati,
jer je ona ista koje je prethodno dodata, dakle koja vec postoji medju
setom kontrola. U sushtini, mislim da ti je to jedina greshka i da bi sa
ovom ispravkom trebalo da radi.

Code (vbnet):



         For I = 1 To txtNumber.Text
          Dim myTextBox = (New System.Windows.Forms.TextBox)
              pozicijax = pozicijax + 80
              myTextBox.Name = "txtDynamic" & I
              myTextBox.Text = I
              myTextBox.Location = New Point(pozicijax, 390)
              Me.Controls.Add(myTextBox)
         Next I
 



--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
[ Shadowed @ 06.05.2010. 00:38 ] @
Ili:
Code (vbnet):

For I = 1 To txtNumber.Text
     Me.Controls.Add(New TextBox() With {.Name = "txtDynamic" & I.ToString(), _
                                        .Text = I.ToString(), _
                                        .Location = New Point(pozicijax + I * 80, 390)})
Next I
 


:)
[ ceso @ 06.05.2010. 01:00 ] @
Super
Hvala obojici.