Forms fogalma, alkalmazási területei
Beépített gyűjtemények
Minden egyes Visual Basic project rendelkezik egy Forms gyűjteménnyel, amely tartalmazza az összes használt formot. Minden form rendelkezik egy Controls gyűjteménnyel, amely tartalmazza a formokon levő összes vezérlőt. A Windows pedig felügyel egy Printers gyűjteményt, amely nyilvántartja a rendszerre feltelepített összes nyomtatót.
A Forms, Controls, Printers gyűjtemény abban különbözik a Collection osztálytól, hogy csak egy tulajdonságuk van a Count, és „0 alapúak”, a tagok indexei 0 és Count-1 tartományba esnek.
Forms
A Forms gyűjtemény kizárólag csak a betöltött formokat tartalmazza. A programok fő űrlapja induláskor töltődik be. A többi űrlapot be lehet tölteni a Load utasítás segítségével, illetve ha a programkódban hivatkozunk rájuk.
Az űrlapokat leggyakrabban a For Each…Next utasítással érhetjük el. Az utasítás lehetővé teszi, hogy egy tömbben vagy kollekcióban tárolt adatokat indexek használata nélkül elérjünk. A ciklus segítségével Variant, illetve Object típusú változót kezelhetünk.
Az utasítás szintaktikája:
For Each elem In csoport
[utasítások]
[Exit For] ’ kiugrás a ciklus utáni első utasításra
[utasítások]
Next [elem]
Példa a Forms utasításra
Példa: Az űrlapok elmozdítása.
Dim u As Form
For Each u In Forms
u.Top=u.Top*0.5
u.Left=u.Left*0.5
Next
Az indexek segítségével is kezelhetjük a Forms gyűjtemény, bár így egy kicsit nehézkesebb a forráskód.
Dim i As Integer
For i=0 to Forms.Count-1
Forms(i).Top= Forms(i)..Top*0.5
Forms(i)..Left= Forms(i)..Left*0.5
Next i
Controls fogalma, alkalmazási területei
A Controls gyűjtemény kezelését szintén a For Each..Next utasítással a legegyszerűbb elvégezni, meg kell adni, hogy melyik Controls gyűjteményre hivatkozunk, ha nem adjuk meg a Controls gyűjtemény nevét, akkor a program automatikusan az aktuális űrlappal végzi a műveleteket.
Példa a Controls utasításra
A példa az aktuális űrlapon levő összes vezérlő láthatóságát átkapcsolja:
Dim a As Controls
For Each a In Controls
a.Visible= Not a.Visible
Next
A Forms gyűjtemény kizárólag csak a betöltött formokat tartalmazza. A programok fő űrlapja induláskor töltődik be. A többi űrlapot be lehet tölteni a Load utasítás segítségével, illetve ha a programkódban hivatkozunk rájuk.
A Controls gyűjtemény kezelését szintén a For Each..Next utasítással a legegyszerűbb elvégezni, meg kell adni, hogy melyik Controls gyűjteményre hivatkozunk, ha nem adjuk meg a Controls gyűjtemény nevét, akkor a program automatikusan az aktuális űrlappal végzi a műveleteket.