Oggetto My.Forms
Fornisce le proprietà che consentono di accedere alle istanze di ciascun form Windows dichiarato nel progetto corrente.
Note
L'oggetto My.Forms fornisce un'istanza di ciascun form nel progetto corrente.Il nome della proprietà è uguale a quello del form a cui accede.Per informazioni sull'aggiunta di form a un progetto, vedere Procedura: aggiungere Windows Form a un progetto.
Per accedere ai form forniti dall'oggetto My.Forms, è possibile utilizzare il nome del form senza qualificazione.Il nome della proprietà è uguale a quello del tipo di form per consentire di accedere al form come se fosse un'istanza predefinita.Ad esempio My.Forms.Form1.Show è equivalente a Form1.Show.
L'oggetto My.Forms espone solo i form associati al progetto correntee non fornisce accesso ai form dichiarati nelle DLL di riferimento.Per accedere a un form fornito da una DLL è necessario utilizzare il nome completo del form, ovvero NomeDLL. NomeForm.
È possibile utilizzare la proprietà OpenForms per ottenere una raccolta di tutti i form aperti dell'applicazione.
L'oggetto e le relative proprietà sono disponibili solo per le applicazioni Windows.
Proprietà
Ciascuna proprietà dell'oggetto My.Forms fornisce accesso a un'istanza di un form nel progetto corrente.Il nome della proprietà è lo stesso di quello del form a cui accede e il tipo di proprietà equivale a quello del tipo di form.
[!NOTA]
In caso di conflitto tra nomi, il nome della proprietà per accedere al form sarà SpazioNomiPrimoLivello_SpazioNomi_NomeForm.Si considerino ad esempio i due form denominati Form1.. Se uno di questi due form si trova nello spazio dei nomi di primo livello WindowsApplication1 e nello spazio dei nomi Namespace1, è necessario accedere al form mediante My.Forms.WindowsApplication1_Namespace1_Form1.
L'oggetto My.Forms consente di accedere all'istanza del form principale dell'applicazione creato all'avvio.Per tutti gli altri form, l'oggetto My.Forms crea una nuova istanza subito dopo l'accesso e l'archiviazione del form.Ai successivi tentativi di accesso alla proprietà, verrà restituita tale istanza del form.
Per rimuovere un form, assegnare il valore Nothing alla relativa proprietà.Il metodo di impostazione delle proprietà chiama il metodo Close del form e assegna Nothing al valore archiviato.Se alla proprietà si assegna un valore diverso da Nothing, il metodo per l'impostazione genera un'eccezione ArgumentException.
Per verificare se una proprietà dell'oggetto My.Forms archivia un'istanza del form, utilizzare l'operatore Is o IsNot.Questi operatori consentono di controllare se il valore della proprietà è Nothing.
[!NOTA]
Generalmente, l'operatore Is o IsNot deve leggere il valore della proprietà per eseguire il confronto.Tuttavia, se il valore della proprietà è Nothing, la proprietà crea una nuova istanza del form e quindi la restituisce.Il compilatore di Visual Basic considera le proprietà dell'oggetto My.Forms in modo speciale e consente all'operatore Is o IsNot di controllare lo stato della proprietà senza modificarne il valore.
Esempio
Nell'esempio viene modificato il titolo del form SidebarMenu predefinito.
Sub ShowSidebarMenu(ByVal newTitle As String)
If My.Forms.SidebarMenu IsNot Nothing Then
My.Forms.SidebarMenu.Text = newTitle
End If
End Sub
Per la corretta esecuzione dell'esempio, è necessario che il progetto contenga un modulo denominato SidebarMenu.Per ulteriori informazioni, vedere Procedura: aggiungere Windows Form a un progetto.
Questo codice può essere utilizzato solo in un progetto di un'applicazione Windows.
Requisiti
Disponibilità per tipo di progetto
Tipo di progetto |
Disponibile |
Applicazione Windows |
Sì |
Libreria di classi |
No |
Applicazione console |
No |
Libreria di controlli Windows |
No |
Libreria di controlli Web |
No |
Servizio Windows |
No |
Sito Web |
No |
Vedere anche
Attività
Procedura: aggiungere Windows Form a un progetto
Riferimenti
Operatore IsNot (Visual Basic)