My.Resources-objekt
Tillhandahåller egenskaper och klasser för åtkomst till programmets resurser.
Kommentarer
Objektet My.Resources
ger åtkomst till programmets resurser och gör att du dynamiskt kan hämta resurser för ditt program. Mer information finns i Hantera programresurser (.NET).
Objektet My.Resources
exponerar endast globala resurser. Den ger inte åtkomst till resursfiler som är associerade med formulär. Du måste komma åt formulärresurserna från formuläret.
Du kan komma åt programmets kulturspecifika resursfiler från objektet My.Resources
. Som standard My.Resources
letar objektet upp resurser från resursfilen som matchar kulturen i UICulture egenskapen. Du kan dock åsidosätta det här beteendet och ange en viss kultur som ska användas för resurserna. Mer information finns i Resurser i .NET-appar.
Egenskaper
Egenskaperna för My.Resources
objektet ger skrivskyddad åtkomst till programmets resurser. Om du vill lägga till eller ta bort resurser använder du Projektdesignern. Du kan komma åt resurser som lagts till via Projektdesignern med hjälp My.Resources.
av resourceName.
Du kan också lägga till eller ta bort resursfiler genom att välja projektet i Solution Explorer och klicka på Lägg till nytt objekt eller Lägg till befintligt objekt på Projekt-menyn . Du kan komma åt resurser som läggs till på det här sättet med hjälp My.Resources.
av resourceFileName.
resourceName.
Varje resurs har ett namn, en kategori och ett värde, och dessa resursinställningar avgör hur egenskapen för att komma åt resursen visas i My.Resources
objektet. För resurser som lagts till i Projektdesignern:
Namnet avgör namnet på egenskapen,
Resursdata är värdet för egenskapen,
Kategorin avgör typen av egenskap:
Kategori | Egenskapsdatatyp |
---|---|
Strängar | Sträng |
Bilder | Bitmap |
Ikoner | Icon |
Ljud | UnmanagedMemoryStream Klassen UnmanagedMemoryStream härleds från klassen, så den Stream kan användas med metoder som tar strömmar, till exempel Play metoden. |
Filer | - Sträng för textfiler. - Bitmap för bildfiler. - Icon för ikonfiler. - UnmanagedMemoryStream för ljudfiler. |
Övrigt | Bestäms av informationen i designerns typkolumn . |
Klasser
Objektet My.Resources
exponerar varje resursfil som en klass med delade egenskaper. Klassnamnet är samma som namnet på resursfilen. Enligt beskrivningen i föregående avsnitt exponeras resurserna i en resursfil som egenskaper i klassen.
Exempel 1
I det här exemplet anges namnet på ett formulär till strängresursen med namnet Form1Title
i programresursfilen. För att exemplet ska fungera måste programmet ha en sträng med namnet Form1Title
i resursfilen.
Sub SetFormTitle()
Me.Text = My.Resources.Form1Title
End Sub
Exempel 2
I det här exemplet anges ikonen för formuläret till ikonen med namnet Form1Icon
som lagras i programmets resursfil. För att exemplet ska fungera måste programmet ha en ikon med namnet Form1Icon
i resursfilen.
Sub SetFormIcon()
Me.Icon = My.Resources.Form1Icon
End Sub
Exempel 3
I det här exemplet anges bakgrundsbilden av ett formulär till avbildningsresursen med namnet Form1Background
, som finns i programresursfilen. För att det här exemplet ska fungera måste programmet ha en avbildningsresurs med namnet Form1Background
i resursfilen.
Sub SetFormBackgroundImage()
Me.BackgroundImage = My.Resources.Form1Background
End Sub
Exempel 4
Det här exemplet spelar upp ljudet som lagras som en ljudresurs med namnet Form1Greeting
i programmets resursfil. För att exemplet ska fungera måste programmet ha en ljudresurs med namnet Form1Greeting
i resursfilen. Metoden My.Computer.Audio.Play
är endast tillgänglig för Windows Forms-program.
Sub PlayFormGreeting()
My.Computer.Audio.Play(My.Resources.Form1Greeting,
AudioPlayMode.Background)
End Sub
Exempel 5
Det här exemplet hämtar den franska kulturversionen av en strängresurs i programmet. Resursen heter Message
. Om du vill ändra kulturen som My.Resources
objektet använder använder ChangeUICultureexemplet .
För att det här exemplet ska fungera måste programmet ha en sträng med namnet Message
i resursfilen och programmet ska ha den franska kulturversionen av resursfilen Resources.fr-FR.resx. Om programmet inte har den franska kulturversionen av resursfilen My.Resource
hämtar objektet resursen från resursfilen default-culture.
Sub ShowLocalizedMessage()
Dim culture As String = My.Application.UICulture.Name
My.Application.ChangeUICulture("fr-FR")
MsgBox(My.Resources.Message)
My.Application.ChangeUICulture(culture)
End Sub