A Visible tulajdonság
A kísérletben megvizsgáljuk az űrlapelemek Visible tulajdonságának az űrlapelemek megjelenítésére gyakorolt hatását.
A kísérlethez szükséges, hogy a Visual Basic fejlesztőkörnyezet számítógépünkre telepítve legyen.
A kísérlet előkészítése:
Hozzunk létre egy új Standard Exe projectet!
A keletkező project már tartalmaz egy Form1 nevű űrlapot. Adjunk hozzá a projecthez még egy űrlapot. Ez automatikusan a Form2 nevet kapja.
A Form1 űrlapon helyezzünk két parancsgombot.
A kísérlet lépései:
Vizsgáljuk meg az űrlapok és az egyes űrlapelemek Visible tulajdonságát! Láthatjuk, hogy alaphelyzetben minden objektum Visible tulajdonsága True, azaz az objektumok láthatóak.
Futtassuk a programot és vizsgáljuk meg a képernyőn látható objektumokat! Megállapíthatjuk, hogy az első űrlap (Form1) és annak tartalma látható a képernyőn, míg a második űrlap nem jelent meg. Megállapíthatjuk, hogy a Visual Basic a program futtatásakor az űrlapok Visible értékétől függetlenül csak az alapértelmezett indító űrlapot jeleníti meg, a további űrlapok Visible tulajdonságát False értékre állítja. Zárjuk be az űrlapot!
Állítsuk a Form1 űrlap második, Command2 nevű parancsgombjának Visible tulajdonságát False értékre, amellyel a parancsgombot láthatatlanná tesszük a felhasználó számára. Figyeljük meg, hogy szerkesztési időben a parancsgomb nem vált láthatatlanná, mivel ez megnehezítené annak későbbi megjelenítését és szerkesztését.
Futtassuk a programot és vizsgáljuk meg a megjelenő űrlap tartalmát! Láthatjuk, hogy az elrejtett parancsgomb futásidőben valóban láthatatlanná vált. A felhasználó nem kap semmilyen jelzést a parancsgomb létezéséről és használni sem tudja azt. Zárjuk be az űrlapot!
Futtassuk a programot és próbáljuk meg használni az űrlapelemeket! Láthatjuk, hogy az egyes elemek használata nem lehetséges. A szöveges mezőbe nem tudunk begépelni, a parancsgombra kattintva pedig semmi sem történik. Az űrlapelemek tiltott állapotát a Windows az elemek alapértelmezettől eltérő megjelenítésével jelzi. A szöveges mező tartalma szürke, a parancsgomb felirata pedig gravírozás hatású. Az űrlap Enabled tulajdonsága továbbra is True, ezért az továbbra is a megszokott módon használható. Zárjuk be az űrlapot.
Próbáljuk ki, mi történik, ha az objektumok Visible tulajdonságát futásidőben változtatjuk meg. Ehhez kattintsunk duplán valamely parancsgombra és gépeljük be az alábbi kódot:
Private Sub Command1_Click()
Command2.Visible = Not Command2.Visible
End Sub
Private Sub Command2_Click()
Form2.Visible = Not Form2.Visible
End Sub
Futtassuk a programot! Kattintsunk néhányszor az első parancsgombra! Láthatjuk, hogy a második parancsgomb megjelenik vagy eltűnik a képernyőről. Amikor a második parancsgomb látható állapotban van, használhatóvá válik. Kattintsunk néhányszor a második parancsgombra is. Láthatjuk, hogy a művelet hatására második űrlap megjelenik vagy eltűnik a képernyőről. Zárjuk be az űrlapot.
Próbáljuk ki, mi a hatása annak, ha az alapértelmezett űrlap Visible tulajdonságát futásidőben False értékre állítjuk. Ehhez módosítsuk a Command2._Click eljárást az alábbiak szerint:
Private Sub Command2_Click()
Me.Visible = False
End Sub
Futtassuk a programot és a második parancsgomb segítségével rejtsük el az alapértelmezett űrlapot. Láthatjuk, hogy az űrlap eltűnt a képernyőről, a program futása azonban nem szakadt meg. Ez annak következménye, hogy az űrlap elrejtése nem jelenti automatikusan az űrlap bezárását is. A program futása csak abban az esetben érne véget, ha az alapértelmezett űrlapot bezárjuk. Az űrlap bezárásához az Unload Me parancsot kellett volna használnunk. A program leállításához használjuk a Visual Basic fejlesztőkörnyezet Run menüjének End parancsát vagy az eszköztár End gombját.
Következtetés:
A Visible tulajdonság False értékre állításával elrejthetünk egy űrlapelemet vagy egy űrlapot. A program indításakor alaphelyzetben csak az alapértelmezett űrlap jelenik meg, függetlenül a többi űrlap Visible tulajdonságának szerkesztési időben beállított értékétől. Az egyes objektumok Visible tulajdonsága futásidőben módosítható. Az űrlap elrejtése nem azonos az űrlap bezárásával. Egy űrlap bezárása az Unload űrlap_neve parancs segítségével valósítható meg.