Luk flere forme på en gang

Tags:    visual-basic

User
Bruger #683 @ 13.04.02 21:01
.:: Death Killer ::.

Hvordan lukker jeg flere forme på en gang altså når jeg trykker på en lukker den:

Form1
Form1




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
.:: Death Killer ::.

Hvordan lukker jeg flere forme på en gang altså når jeg trykker på en lukker den:

Form1
Form1


Hvis du vil lukke ALLE forme i et program, kan dette let gøres ved hjælp af følgende kodestump:
<pre>'
' Vi opretter en midlertidig variabel til at
' referere til den aktuelle form. Derefter lader vi
' programmet gennemløbe alle forme og lukke dem en
' for en.
'
Dim curForm As Form
For Each curForm In Forms
Unload curForm
Next curForm</pre>
I eksemplet ovenover er curForm en variabel, der refererer til et VB Form-objekt. For Each...Next-loopet cykler så gennem Forms-samlingen, der indeholder referencer til alle forme i programmet (synlige eller usynlige, men kun loadede).

Du kunne også styre, hvilke forme lukkes, ved at bruge Form.Tag-egenskaben. Derved kunne du lukke en, to, eller flere forme på een gang. De forme, der skal lukkes skal have deres Tag sat til "LUK". Her er et eksempel:
<pre>'
' Sæt Tag-egenskaben på Form2-formen således, at
' Form2 lukkes. Sæt også Form3's Tag så den IKKE
' lukkes.
'
Let Form2.Tag = "LUK"
Let Form3.Tag = ""
</pre>
Sidenhen skal du bare køre denne modificerede udgave af loopet ovenover:
<pre>'
' Vi skal have en variabel til at holde en
' reference til den aktuelle form. Derefter
' gennemløber vi alle forme og lukker dem, der
' indeholder ordet "LUK" i Tag-egenskaben.
'
Dim curForm As Form
For Each curForm In Forms
If curForm.Tag = "LUK" Then Unload curForm
Next curForm</pre>
Hvis du vil lukke andre forme, når du klikker på f.eks. Form1, skal du bare indsætte koden i Form1_Click proceduren.

Således kan du styre en eller flere forme. For at rekapitulere, som det hedder med et fint ord:

1) Forms er en samling, der indeholder alle forme.
2) En form's Tag-egenskab kan sættes til en strengværdi.
3) Unload-kommandoen bruges til at lukke en form ned med.

Du kan bruge Tag til meget andet. Faktisk har alle (eller ihvertfald næsten alle) kontrolelementer, forms, ect. en Tag-egenskab. Denne egenskab kan indeholde en streng-værdi og er kun beregnet til dig som programmør. Visual Basic bruger ikke egenskaben til noget.

Håber du kan bruge dette til noget.

[Redigeret d. 14/04-02 09:04:33 af Herluf Hermansen]



.:: Death Killer ::.

Hvordan lukker jeg flere forme på en gang altså når jeg trykker på en lukker den:

Form1
Form1



Begin sub Form1_OnUnload

Unload Form1
Unload Form2

End Sub



t