My.Forms-object
Biedt eigenschappen voor toegang tot een exemplaar van elk Windows-formulier dat in het huidige project is gedeclareerd.
Opmerkingen
Het My.Forms
object biedt een exemplaar van elk formulier in het huidige project. De naam van de eigenschap is hetzelfde als de naam van het formulier waartoe de eigenschap toegang heeft.
U kunt de formulieren die door het My.Forms
object worden geleverd, openen met behulp van de naam van het formulier, zonder kwalificatie. Omdat de naam van de eigenschap hetzelfde is als de typenaam van het formulier, kunt u hiermee toegang krijgen tot een formulier alsof het een standaardexemplaren heeft. My.Forms.Form1.Show
is bijvoorbeeld gelijk aan Form1.Show
.
Het My.Forms
object bevat alleen de formulieren die aan het huidige project zijn gekoppeld. Het biedt geen toegang tot formulieren die zijn gedeclareerd in DLL's waarnaar wordt verwezen. Als u toegang wilt krijgen tot een formulier dat een DLL biedt, moet u de gekwalificeerde naam van het formulier gebruiken, geschreven als DllName.FormName.
U kunt de OpenForms eigenschap gebruiken om een verzameling van alle geopende formulieren van de toepassing op te halen.
Het object en de eigenschappen ervan zijn alleen beschikbaar voor Windows-toepassingen.
Eigenschappen
Elke eigenschap van het My.Forms
object biedt toegang tot een exemplaar van een formulier in het huidige project. De naam van de eigenschap is hetzelfde als de naam van het formulier waartoe de eigenschap toegang heeft en het eigenschapstype is hetzelfde als het type van het formulier.
Notitie
Als er een naamconflict is, is de eigenschapsnaam voor toegang tot een formulier RootNamespace_Namespace_FormName. Denk bijvoorbeeld aan twee formulieren met de naam Form1.
Als een van deze formulieren zich in de hoofdnaamruimte WindowsApplication1
bevindt en in de naamruimte Namespace1
, zou u dat formulier openen via My.Forms.WindowsApplication1_Namespace1_Form1
.
Het My.Forms
object biedt toegang tot het exemplaar van het hoofdformulier van de toepassing dat is gemaakt bij het opstarten. Voor alle andere formulieren maakt het My.Forms
object een nieuw exemplaar van het formulier wanneer het wordt geopend en opgeslagen. Volgende pogingen om toegang te krijgen tot die eigenschap retourneren dat exemplaar van het formulier.
U kunt een formulier verwijderen door deze toe te wijzen aan Nothing
de eigenschap voor dat formulier. De eigenschapssetter roept de Close methode van het formulier aan en wijst vervolgens toe aan Nothing
de opgeslagen waarde. Als u een andere waarde dan Nothing
aan de eigenschap toewijst, genereert de setter een ArgumentException uitzondering.
U kunt testen of een eigenschap van het My.Forms
object een exemplaar van het formulier opslaat met behulp van de Is
of IsNot
operator. U kunt deze operators gebruiken om te controleren of de waarde van de eigenschap is Nothing
.
Notitie
Normaal gesproken moet de Is
of IsNot
operator de waarde van de eigenschap lezen om de vergelijking uit te voeren. Als de eigenschap momenteel echter wordt opgeslagen Nothing
, maakt de eigenschap een nieuw exemplaar van het formulier en retourneert deze instantie. De Visual Basic-compiler behandelt echter de eigenschappen van het My.Forms
object anders en stelt de Is
operator IsNot
in staat om de status van de eigenschap te controleren zonder de waarde ervan te wijzigen.
Opmerking
In dit voorbeeld wordt de titel van het standaardformulier SidebarMenu
gewijzigd.
Sub ShowSidebarMenu(ByVal newTitle As String)
If My.Forms.SidebarMenu IsNot Nothing Then
My.Forms.SidebarMenu.Text = newTitle
End If
End Sub
Dit voorbeeld werkt alleen als uw project een formulier met de naam SidebarMenu
heeft.
Deze code werkt alleen in een Windows-toepassingsproject.
Vereisten
Beschikbaarheid per projecttype
Projecttype | Beschikbaar |
---|---|
Windows-toepassing | Ja |
Klassebibliotheek | Nee |
Console Application | Nee |
Windows Control Library | Nee |
Webbesturingsbibliotheek | Nee |
Windows-service | Nee |
Website | Nee |