Delen via


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 SidebarMenuheeft.

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

Zie ook