Pa možeš da napraviš array formi i onda im pristupaš putem indexa. Znači nešto tipa
Code:
Option Explicit
Dim frm() As Form2
Dim X As Long
Private Sub Command1_Click()
ReDim Preserve frm(X) As Form2
Set frm(X) = New Form2
frm(X).Tag = X
frm(X).Show
X = X + 1
End Sub
Private Sub Command2_Click()
frm(0).Text1.Text = "AAAAAAAAAA"
frm(1).Text1.Text = "BBBBBBBBBBB"
End Sub
Tako, svaki out kad otvoriš novu formu, povećavaš array, i smeštaš novokreiranu formu kao novog člana, a svakoj formi pristupaš navođenjem njenog indexa. Ono Tag svojstvo popunjavaš da bi sama instanca forme "znala" koja je ona instanca po redu, za slučaj da ti to ustreba prilikom kodiranje te forme. Tako recimo možeš u tu drugu formu u Load eventu da staviš
Code:
Me.Caption = "Instanca broj " & me.Tag
I onda ćeš tačno videti koja forma je koja instanca po redu.
Drugo rešenje je da bez array-a uvek prolaziš kroz kolekciju formi i proveravaš Tag svojstvo koje naravno dodeljuješ prilikom otvaranja. Ovako nešto
Code:
Option Explicit
Dim X As Long
Private Sub Command1_Click()
Dim f As Form
Set f = New Form2
f.Tag = X
f.Show
X = X + 1
End Sub
Private Sub Command2_Click()
Dim frm As Form
For Each frm In Forms
Select Case frm.Tag
Case 0
frm.Text1.Text = "AAAAAAAAAAAA"
Case 1
frm.Text1.Text = "BBBBBBBBBBBB"
End Select
Next frm
End Sub
Ali rekao bih da je ono prvo rešenje brže i čistije, a ti sad vidi šta ti više odgovara.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti