Elenco form visibili

martedì 16 dicembre 2008 - 10.08

device78 Profilo | Junior Member

Salve,
Ho un form principale che richiama diversi form.Quindi sullo schermo ho 1 Form 1 e posso avere x-copie del form 2
Adesso è possibile far chiudere con un evento sul pulsante form1 tutti i form2 aperti?

grazie

sanbiz Profilo | Senior Member

>Ho un form principale che richiama diversi form.Quindi sullo
>schermo ho 1 Form 1 e posso avere x-copie del form 2
>Adesso è possibile far chiudere con un evento sul pulsante form1
>tutti i form2 aperti?

Nell'esempio seguente alla pressione del Button1 vengono creati 5 form
Successivamente, alla pressione del Button2 vengono chiusi.
Da notare la proprietà .Owner = Me utilizzare per "assegnare" il legame tra il form principale ed i secondati.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For x As Integer = 0 To 4
Dim f As New Form
f.Owner = Me
f.Text = x.ToString
f.Show()
Next
End Sub

Il ciclo di chiusura scorre solo i form appartenenti al form primario.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For Each f As Form In Me.OwnedForms
If f IsNot Me Then
f.Close()
End If
Next
End Sub

Esiste anche la funzione My.Application.OpenForms che restituisce la collection di tutti i forms aperti.

>grazie
Prego
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

device78 Profilo | Junior Member

grazie mille!!!
anche se If f IsNot Me Then mi dava errore!!

però ho risolto in If f.Name = "nome" Then

mettendo nome il nome del form che volevo chiudere!!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5