Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Innehåller egenskaper för åtkomst till en instans av varje Windows-formulär som deklareras i det aktuella projektet.
Anmärkningar
Objektet My.Forms innehåller en instans av varje formulär i det aktuella projektet. Namnet på egenskapen är samma som namnet på formuläret som egenskapen kommer åt.
Du kan komma åt formulären My.Forms som tillhandahålls av objektet med hjälp av formulärets namn, utan kvalificering. Eftersom egenskapsnamnet är samma som formulärets typnamn kan du komma åt ett formulär som om det hade en standardinstans.
My.Forms.Form1.Show motsvarar till exempel Form1.Show.
Objektet My.Forms exponerar endast de formulär som är associerade med det aktuella projektet. Den ger inte åtkomst till formulär som deklarerats i refererade DLL:er. För att få åtkomst till ett formulär som en DLL tillhandahåller måste du använda det kvalificerade namnet på formuläret, skrivet som DllName. FormName.
Du kan använda OpenForms egenskapen för att hämta en samling av alla programmets öppna formulär.
Objektet och dess egenskaper är endast tillgängliga för Windows-program.
Egenskaper
Varje egenskap för My.Forms objektet ger åtkomst till en instans av ett formulär i det aktuella projektet. Namnet på egenskapen är samma som namnet på formuläret som egenskapen kommer åt, och egenskapstypen är samma som formulärets typ.
Anmärkning
Om det uppstår en namnkollision är egenskapsnamnet för att komma åt ett formulär RootNamespace_Namespace_FormName. Du kan till exempel överväga två formulär med namnet Form1.Om ett av dessa formulär finns i rotnamnområdet WindowsApplication1 och i namnområdet Namespace1skulle du komma åt formuläret via My.Forms.WindowsApplication1_Namespace1_Form1.
Objektet My.Forms ger åtkomst till instansen av programmets huvudformulär som skapades vid start. För alla andra formulär My.Forms skapar objektet en ny instans av formuläret när det används och lagrar det. Efterföljande försök att komma åt den egenskapen returnerar den instansen av formuläret.
Du kan ta bort ett formulär genom att Nothing tilldela egenskapen för formuläret. Egenskapsuppsättningen Close anropar formulärets metod och tilldelar Nothing sedan till det lagrade värdet. Om du tilldelar något annat värde än Nothing egenskapen utlöser settern ett ArgumentException undantag.
Du kan testa om en egenskap för My.Forms objektet lagrar en instans av formuläret med hjälp av operatorn Is eller IsNot . Du kan använda dessa operatorer för att kontrollera om värdet för egenskapen är Nothing.
Anmärkning
Vanligtvis måste operatorn Is eller IsNot läsa värdet för egenskapen för att utföra jämförelsen. Men om egenskapen för närvarande lagrar Nothingskapar egenskapen en ny instans av formuläret och returnerar sedan den instansen. Visual Basic-kompilatorn behandlar dock objektets egenskaper My.Forms på olika sätt och låter Is operatorn eller IsNot kontrollera egenskapens status utan att ändra dess värde.
Exempel
I det här exemplet ändras namnet på standardformuläret SidebarMenu .
Sub ShowSidebarMenu(ByVal newTitle As String)
If My.Forms.SidebarMenu IsNot Nothing Then
My.Forms.SidebarMenu.Text = newTitle
End If
End Sub
För att det här exemplet ska fungera måste projektet ha ett formulär med namnet SidebarMenu.
Den här koden fungerar bara i ett Windows-programprojekt.
Kravspecifikation
Tillgänglighet efter projekttyp
| Projekttyp | Tillgängligt |
|---|---|
| Windows-program | Ja |
| Klassbibliotek | Nej |
| Konsolprogram | Nej |
| Windows-kontrollbibliotek | Nej |
| Webbkontrollbibliotek | Nej |
| Windows-tjänsten | Nej |
| Webbplats | Nej |